Merge ~athos-ribeiro/ubuntu-docker-images:update-templates-21.04-makefile into ~valentinviennot/ubuntu-docker-images:update-templates-21.04
- Git
- lp:~athos-ribeiro/ubuntu-docker-images
- update-templates-21.04-makefile
- Merge into update-templates-21.04
Status: | Merged |
---|---|
Merged at revision: | 65a3b15045408f995f8fd6912de0da020c139534 |
Proposed branch: | ~athos-ribeiro/ubuntu-docker-images:update-templates-21.04-makefile |
Merge into: | ~valentinviennot/ubuntu-docker-images:update-templates-21.04 |
Diff against target: |
1415 lines (+53/-95) 7 files modified
Makefile (+35/-0) README.md (+14/-3) data/cassandra.yaml (+1/-1) dev/null (+0/-88) docs/docker.io/ubuntu/cassandra.md (+1/-1) docs/public.ecr.aws/lts/cassandra.md (+1/-1) docs/public.ecr.aws/ubuntu/cassandra.md (+1/-1) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Valentin Viennot | Approve | ||
Sergio Durigan Junior | Pending | ||
Review via email:
|
Commit message
Description of the change
Hi Valentin,
This MP is a proposal for adding a Makefile into the new OCI docs structure.
This also proposes a change for the build directory where the built docs artifacts should live, moving them from out* to a docs/REGISTRY/
Finally, while the last commit moves the files from out/* to the new structure, it also removed the files from out-lts, since I could not find the templates that generated those files.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Athos Ribeiro (athos-ribeiro) wrote : | # |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Sergio Durigan Junior (sergiodj) wrote : | # |
On Monday, September 13 2021, Athos Ribeiro wrote:
> Note that I do have some remaining questions over the new structure:
>
> 1 - Should we remove all the documentation bits from the individial OCI repositories in favor of the new structure? i.e., remove data?* and README.md from those repositories.
Yes, I think that's the way to go here. AFAIU everything will now live
in the templates.git repository.
> 2 - How about the HACKING files? Should we still maintain those in the individual repositories?
My opinion is that the HACKING files belong to the git repositories.
Right now they are also generated using templates, but maybe we can make
them generic enough that they can be static files.
Thanks,
--
Sergio
GPG key ID: E92F D0B3 6B14 F1F4 D8E0 EB2F 106D A1C8 C3CB BF14
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Sergio Durigan Junior (sergiodj) wrote : | # |
Thanks for the MP, Athos.
I think this is OK, but I'd like to hear what Valentin has to say first.
Cheers.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Valentin Viennot (valentinviennot) wrote : | # |
Thanks Athos! A few changes:
In the README:
- we can get rid of all the "Getting data from images repositories" instructions, as data?* files will now live in this repository.
- also, the .devcontainer could run the steps describe in the README for us :)
For the cassandra.yaml file:
- I think we need to change the version to remove the "rc" modifier as it wouldn't be part of the image tag. I also believe the 20.04 version is not an LTS, right?
- There's a "dead" link for the Kubernetes part, "TBD". This would need the absolute link to the proper configuration files.
With these changes this works well for me!
PS: I have a commit ready to fix the 3 first bullets but I don't know what to do with it. This is what my .devcontainer/
---
# See here for image contents: https:/
ARG VARIANT="3"
FROM mcr.microsoft.
RUN apt-get update && export DEBIAN_
&& apt-get -y install --no-install-
RUN cd /usr/bin && git clone https:/
&& pip3 --disable-
&& rm -rf /tmp/pip-tmp
ENV RENDERDOWN /usr/bin/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Valentin Viennot (valentinviennot) wrote : | # |
Oh, and what I've done for the README is that I removed the instructions related to "data" files and refactored the Installation section as following:
---
## Installing
### DevContainer
This repository contains a `.devcontainer` config folder to allow isolated-
The DevContainer will provide you with a working environment out of the box. **You don't need any configuration.**
### Manually
```bash
git clone https:/
sudo apt update -y && sudo apt install -y python3-mako python3-yaml
pip3 install -r RenderDown/
```
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Athos Ribeiro (athos-ribeiro) wrote : | # |
Thanks for the reviews, Sergio and Valentin.
Valentin, I fixed the 4th bullet by adding the URL for the Cassandra k8s deployment example. Would you like to rebase your remaining changes and merge them on top of my recent changes after merging this MP or would you rather me to go ahead and add those changes here?
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Valentin Viennot (valentinviennot) wrote : | # |
Happy to do a rebase if that's easier
Preview Diff
1 | diff --git a/Makefile b/Makefile |
2 | new file mode 100644 |
3 | index 0000000..a179a07 |
4 | --- /dev/null |
5 | +++ b/Makefile |
6 | @@ -0,0 +1,35 @@ |
7 | +RENDERDOWN ?= ../RenderDown/renderdown.py |
8 | +PYTHON ?= python3 |
9 | +BUILDDIR ?= docs |
10 | +DATADIR ?= data |
11 | + |
12 | +NS_DOCKERHUB = docker.io/ubuntu |
13 | +NS_ECR = public.ecr.aws/ubuntu |
14 | +NS_ECR_LTS = public.ecr.aws/lts |
15 | + |
16 | +README_TEMPLATE_DOCKERHUB = templates/README_DOCKERHUB.md |
17 | +README_TEMPLATE_ECR = templates/README_ECR.md |
18 | +README_TEMPLATE_ECR_LTS = templates/README_ECR_LTS.md |
19 | + |
20 | +all: all-doc |
21 | + |
22 | +all-doc: clean-doc dockerhub-docs ecr-docs ecr-lts-docs |
23 | + |
24 | +dockerhub-docs: |
25 | + mkdir -p $(BUILDDIR)/$(NS_DOCKERHUB) |
26 | + $(PYTHON) $(RENDERDOWN) $(README_TEMPLATE_DOCKERHUB) --outdir $(BUILDDIR)/$(NS_DOCKERHUB) --data $(DATADIR) |
27 | + |
28 | +ecr-docs: |
29 | + mkdir -p $(BUILDDIR)/$(NS_ECR) |
30 | + $(PYTHON) $(RENDERDOWN) $(README_TEMPLATE_ECR) --outdir $(BUILDDIR)/$(NS_ECR) --data $(DATADIR) |
31 | + |
32 | +ecr-lts-docs: |
33 | + mkdir -p $(BUILDDIR)/$(NS_ECR_LTS) |
34 | + $(PYTHON) $(RENDERDOWN) $(README_TEMPLATE_ECR_LTS) --outdir $(BUILDDIR)/$(NS_ECR_LTS) --data $(DATADIR) |
35 | + |
36 | +clean: clean-doc |
37 | + |
38 | +clean-doc: |
39 | + rm -rf $(BUILDDIR) |
40 | + |
41 | +.PHONY: clean clean-doc all all-doc dockerhub-docs ecr-docs ecr-lts-docs |
42 | diff --git a/README.md b/README.md |
43 | index d9b66cb..f0402b2 100644 |
44 | --- a/README.md |
45 | +++ b/README.md |
46 | @@ -35,8 +35,19 @@ python3 ./RenderDown/renderdown.py templates/README_DOCKERHUB.md --outdir out -- |
47 | |
48 | #### Useful commands |
49 | |
50 | +Create README files for all resigtries and namespaces: |
51 | + |
52 | +```bash |
53 | +make |
54 | +``` |
55 | + |
56 | +Create a README file for a specific registry/namespace combination: |
57 | + |
58 | ```bash |
59 | -python3 ./RenderDown/renderdown.py templates/README_DOCKERHUB.md --outdir ./out/DockerHub/Ubuntu --data ./data |
60 | -python3 ./RenderDown/renderdown.py templates/README_ECR.md --outdir ./out/ECR/Ubuntu --data ./data |
61 | -python3 ./RenderDown/renderdown.py templates/README_ECR_LTS.md --outdir ./out/ECR/LTS --data ./data |
62 | +make dockerhub-docs |
63 | +make ecr-docs |
64 | +make ecr-lts-docs |
65 | ``` |
66 | + |
67 | +The documentation will be available under `docs`, respecting the image |
68 | +registry/namespace format. |
69 | diff --git a/data/cassandra.yaml b/data/cassandra.yaml |
70 | index bfdf4f7..7e640cb 100644 |
71 | --- a/data/cassandra.yaml |
72 | +++ b/data/cassandra.yaml |
73 | @@ -61,5 +61,5 @@ debug: |
74 | - nothing |
75 | microk8s: |
76 | deploy: |
77 | - link: TBD |
78 | + link: https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cassandra/plain/examples/cassandra-deployment.yml |
79 | access: You can now access the cassandra server on port 9042 (e.g., cqlsh localhost 9042) |
80 | diff --git a/out/DockerHub/Ubuntu/apache2.md b/docs/docker.io/ubuntu/apache2.md |
81 | similarity index 100% |
82 | rename from out/DockerHub/Ubuntu/apache2.md |
83 | rename to docs/docker.io/ubuntu/apache2.md |
84 | diff --git a/out/DockerHub/Ubuntu/cassandra.md b/docs/docker.io/ubuntu/cassandra.md |
85 | similarity index 96% |
86 | rename from out/DockerHub/Ubuntu/cassandra.md |
87 | rename to docs/docker.io/ubuntu/cassandra.md |
88 | index e71ed9e..7ae1de4 100644 |
89 | --- a/out/DockerHub/Ubuntu/cassandra.md |
90 | +++ b/docs/docker.io/ubuntu/cassandra.md |
91 | @@ -73,7 +73,7 @@ docker exec -it cassandra-container /bin/bash |
92 | 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`. |
93 | |
94 | Download |
95 | -[cassandra-deployment.yml](TBD) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `ubuntu/cassandra:4.0-rc1-21.04_beta`), then: |
96 | +[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-rc1-21.04_beta`), then: |
97 | |
98 | ```sh |
99 | kubectl apply -f cassandra-deployment.yml |
100 | diff --git a/out/DockerHub/Ubuntu/cortex.md b/docs/docker.io/ubuntu/cortex.md |
101 | similarity index 100% |
102 | rename from out/DockerHub/Ubuntu/cortex.md |
103 | rename to docs/docker.io/ubuntu/cortex.md |
104 | diff --git a/out/DockerHub/Ubuntu/grafana.md b/docs/docker.io/ubuntu/grafana.md |
105 | similarity index 100% |
106 | rename from out/DockerHub/Ubuntu/grafana.md |
107 | rename to docs/docker.io/ubuntu/grafana.md |
108 | diff --git a/out/DockerHub/Ubuntu/memcached.md b/docs/docker.io/ubuntu/memcached.md |
109 | similarity index 100% |
110 | rename from out/DockerHub/Ubuntu/memcached.md |
111 | rename to docs/docker.io/ubuntu/memcached.md |
112 | diff --git a/out/DockerHub/Ubuntu/mysql.md b/docs/docker.io/ubuntu/mysql.md |
113 | similarity index 100% |
114 | rename from out/DockerHub/Ubuntu/mysql.md |
115 | rename to docs/docker.io/ubuntu/mysql.md |
116 | diff --git a/out/DockerHub/Ubuntu/nginx.md b/docs/docker.io/ubuntu/nginx.md |
117 | similarity index 100% |
118 | rename from out/DockerHub/Ubuntu/nginx.md |
119 | rename to docs/docker.io/ubuntu/nginx.md |
120 | diff --git a/out/DockerHub/Ubuntu/postgres.md b/docs/docker.io/ubuntu/postgres.md |
121 | similarity index 100% |
122 | rename from out/DockerHub/Ubuntu/postgres.md |
123 | rename to docs/docker.io/ubuntu/postgres.md |
124 | diff --git a/out/DockerHub/Ubuntu/prometheus-alertmanager.md b/docs/docker.io/ubuntu/prometheus-alertmanager.md |
125 | similarity index 100% |
126 | rename from out/DockerHub/Ubuntu/prometheus-alertmanager.md |
127 | rename to docs/docker.io/ubuntu/prometheus-alertmanager.md |
128 | diff --git a/out/DockerHub/Ubuntu/prometheus.md b/docs/docker.io/ubuntu/prometheus.md |
129 | similarity index 100% |
130 | rename from out/DockerHub/Ubuntu/prometheus.md |
131 | rename to docs/docker.io/ubuntu/prometheus.md |
132 | diff --git a/out/DockerHub/Ubuntu/redis.md b/docs/docker.io/ubuntu/redis.md |
133 | similarity index 100% |
134 | rename from out/DockerHub/Ubuntu/redis.md |
135 | rename to docs/docker.io/ubuntu/redis.md |
136 | diff --git a/out/DockerHub/Ubuntu/telegraf.md b/docs/docker.io/ubuntu/telegraf.md |
137 | similarity index 100% |
138 | rename from out/DockerHub/Ubuntu/telegraf.md |
139 | rename to docs/docker.io/ubuntu/telegraf.md |
140 | diff --git a/out/ECR/LTS/apache2.md b/docs/public.ecr.aws/lts/apache2.md |
141 | similarity index 100% |
142 | rename from out/ECR/LTS/apache2.md |
143 | rename to docs/public.ecr.aws/lts/apache2.md |
144 | diff --git a/out/ECR/LTS/cassandra.md b/docs/public.ecr.aws/lts/cassandra.md |
145 | similarity index 96% |
146 | rename from out/ECR/LTS/cassandra.md |
147 | rename to docs/public.ecr.aws/lts/cassandra.md |
148 | index f44bd91..48ac796 100644 |
149 | --- a/out/ECR/LTS/cassandra.md |
150 | +++ b/docs/public.ecr.aws/lts/cassandra.md |
151 | @@ -74,7 +74,7 @@ docker exec -it cassandra-container /bin/bash |
152 | 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`. |
153 | |
154 | Download |
155 | -[cassandra-deployment.yml](TBD) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/lts/cassandra:4.0-rc1-20.04_beta`), then: |
156 | +[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:4.0-rc1-20.04_beta`), then: |
157 | |
158 | ```sh |
159 | kubectl apply -f cassandra-deployment.yml |
160 | diff --git a/out/ECR/LTS/cortex.md b/docs/public.ecr.aws/lts/cortex.md |
161 | similarity index 100% |
162 | rename from out/ECR/LTS/cortex.md |
163 | rename to docs/public.ecr.aws/lts/cortex.md |
164 | diff --git a/out/ECR/LTS/grafana.md b/docs/public.ecr.aws/lts/grafana.md |
165 | similarity index 100% |
166 | rename from out/ECR/LTS/grafana.md |
167 | rename to docs/public.ecr.aws/lts/grafana.md |
168 | diff --git a/out/ECR/LTS/memcached.md b/docs/public.ecr.aws/lts/memcached.md |
169 | similarity index 100% |
170 | rename from out/ECR/LTS/memcached.md |
171 | rename to docs/public.ecr.aws/lts/memcached.md |
172 | diff --git a/out/ECR/LTS/mysql.md b/docs/public.ecr.aws/lts/mysql.md |
173 | similarity index 100% |
174 | rename from out/ECR/LTS/mysql.md |
175 | rename to docs/public.ecr.aws/lts/mysql.md |
176 | diff --git a/out/ECR/LTS/nginx.md b/docs/public.ecr.aws/lts/nginx.md |
177 | similarity index 100% |
178 | rename from out/ECR/LTS/nginx.md |
179 | rename to docs/public.ecr.aws/lts/nginx.md |
180 | diff --git a/out/ECR/LTS/postgres.md b/docs/public.ecr.aws/lts/postgres.md |
181 | similarity index 100% |
182 | rename from out/ECR/LTS/postgres.md |
183 | rename to docs/public.ecr.aws/lts/postgres.md |
184 | diff --git a/out/ECR/LTS/prometheus-alertmanager.md b/docs/public.ecr.aws/lts/prometheus-alertmanager.md |
185 | similarity index 100% |
186 | rename from out/ECR/LTS/prometheus-alertmanager.md |
187 | rename to docs/public.ecr.aws/lts/prometheus-alertmanager.md |
188 | diff --git a/out/ECR/LTS/prometheus.md b/docs/public.ecr.aws/lts/prometheus.md |
189 | similarity index 100% |
190 | rename from out/ECR/LTS/prometheus.md |
191 | rename to docs/public.ecr.aws/lts/prometheus.md |
192 | diff --git a/out/ECR/LTS/redis.md b/docs/public.ecr.aws/lts/redis.md |
193 | similarity index 100% |
194 | rename from out/ECR/LTS/redis.md |
195 | rename to docs/public.ecr.aws/lts/redis.md |
196 | diff --git a/out/ECR/LTS/telegraf.md b/docs/public.ecr.aws/lts/telegraf.md |
197 | similarity index 100% |
198 | rename from out/ECR/LTS/telegraf.md |
199 | rename to docs/public.ecr.aws/lts/telegraf.md |
200 | diff --git a/out/ECR/Ubuntu/apache2.md b/docs/public.ecr.aws/ubuntu/apache2.md |
201 | similarity index 100% |
202 | rename from out/ECR/Ubuntu/apache2.md |
203 | rename to docs/public.ecr.aws/ubuntu/apache2.md |
204 | diff --git a/out/ECR/Ubuntu/cassandra.md b/docs/public.ecr.aws/ubuntu/cassandra.md |
205 | similarity index 96% |
206 | rename from out/ECR/Ubuntu/cassandra.md |
207 | rename to docs/public.ecr.aws/ubuntu/cassandra.md |
208 | index fd7aef9..e4ec4d4 100644 |
209 | --- a/out/ECR/Ubuntu/cassandra.md |
210 | +++ b/docs/public.ecr.aws/ubuntu/cassandra.md |
211 | @@ -76,7 +76,7 @@ docker exec -it cassandra-container /bin/bash |
212 | 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`. |
213 | |
214 | Download |
215 | -[cassandra-deployment.yml](TBD) and set `containers.cassandra.image` in `cassandra-deployment.yml` to your chosen channel tag (e.g. `public.ecr.aws/ubuntu/cassandra:4.0-rc1-20.04_beta`), then: |
216 | +[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-rc1-20.04_beta`), then: |
217 | |
218 | ```sh |
219 | kubectl apply -f cassandra-deployment.yml |
220 | diff --git a/out/ECR/Ubuntu/cortex.md b/docs/public.ecr.aws/ubuntu/cortex.md |
221 | similarity index 100% |
222 | rename from out/ECR/Ubuntu/cortex.md |
223 | rename to docs/public.ecr.aws/ubuntu/cortex.md |
224 | diff --git a/out/ECR/Ubuntu/grafana.md b/docs/public.ecr.aws/ubuntu/grafana.md |
225 | similarity index 100% |
226 | rename from out/ECR/Ubuntu/grafana.md |
227 | rename to docs/public.ecr.aws/ubuntu/grafana.md |
228 | diff --git a/out/ECR/Ubuntu/memcached.md b/docs/public.ecr.aws/ubuntu/memcached.md |
229 | similarity index 100% |
230 | rename from out/ECR/Ubuntu/memcached.md |
231 | rename to docs/public.ecr.aws/ubuntu/memcached.md |
232 | diff --git a/out/ECR/Ubuntu/mysql.md b/docs/public.ecr.aws/ubuntu/mysql.md |
233 | similarity index 100% |
234 | rename from out/ECR/Ubuntu/mysql.md |
235 | rename to docs/public.ecr.aws/ubuntu/mysql.md |
236 | diff --git a/out/ECR/Ubuntu/nginx.md b/docs/public.ecr.aws/ubuntu/nginx.md |
237 | similarity index 100% |
238 | rename from out/ECR/Ubuntu/nginx.md |
239 | rename to docs/public.ecr.aws/ubuntu/nginx.md |
240 | diff --git a/out/ECR/Ubuntu/postgres.md b/docs/public.ecr.aws/ubuntu/postgres.md |
241 | similarity index 100% |
242 | rename from out/ECR/Ubuntu/postgres.md |
243 | rename to docs/public.ecr.aws/ubuntu/postgres.md |
244 | diff --git a/out/ECR/Ubuntu/prometheus-alertmanager.md b/docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md |
245 | similarity index 100% |
246 | rename from out/ECR/Ubuntu/prometheus-alertmanager.md |
247 | rename to docs/public.ecr.aws/ubuntu/prometheus-alertmanager.md |
248 | diff --git a/out/ECR/Ubuntu/prometheus.md b/docs/public.ecr.aws/ubuntu/prometheus.md |
249 | similarity index 100% |
250 | rename from out/ECR/Ubuntu/prometheus.md |
251 | rename to docs/public.ecr.aws/ubuntu/prometheus.md |
252 | diff --git a/out/ECR/Ubuntu/redis.md b/docs/public.ecr.aws/ubuntu/redis.md |
253 | similarity index 100% |
254 | rename from out/ECR/Ubuntu/redis.md |
255 | rename to docs/public.ecr.aws/ubuntu/redis.md |
256 | diff --git a/out/ECR/Ubuntu/telegraf.md b/docs/public.ecr.aws/ubuntu/telegraf.md |
257 | similarity index 100% |
258 | rename from out/ECR/Ubuntu/telegraf.md |
259 | rename to docs/public.ecr.aws/ubuntu/telegraf.md |
260 | diff --git a/out-lts/apache2.md b/out-lts/apache2.md |
261 | deleted file mode 100644 |
262 | index 743c3b2..0000000 |
263 | --- a/out-lts/apache2.md |
264 | +++ /dev/null |
265 | @@ -1,90 +0,0 @@ |
266 | -# Apache2 LTS Docker Image |
267 | - |
268 | -## LTS Docker Image Portfolio |
269 | -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. |
270 | - |
271 | - |
272 | -## About Apache2 |
273 | - |
274 | -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/). |
275 | - |
276 | - |
277 | -## Tags and Architectures |
278 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
279 | -Up to 5 years free security maintenance `from lts/apache2`. |
280 | - |
281 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
282 | -Up to 10 years customer security maintenance `from store/canonical/apache2`. |
283 | - |
284 | -_Tags in italics are not available in lts/apache2 but are shown here for completeness._ |
285 | - |
286 | -| 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 | |
287 | -|---|---|---|---|---| |
288 | -| **`2.4-20.04_beta`** | - | - | Apache2 2.4.41 | `amd64`, `arm64`, `ppc64el`, `s390x` | |
289 | -| _`track_risk`_ | |
290 | - |
291 | -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`. |
292 | - |
293 | -## Usage |
294 | - |
295 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
296 | - |
297 | -Launch this image locally: |
298 | - |
299 | -```sh |
300 | -docker run -d --name apache2-container -e TZ=UTC -p 8080:80 lts/apache2:2.4-20.04_beta |
301 | -``` |
302 | -Access your Apache2 server at `http://localhost:8080`. |
303 | - |
304 | -#### Parameters |
305 | - |
306 | -| Parameter | Description | |
307 | -|---|---| |
308 | -| `-e TZ=UTC` | Timezone. | |
309 | -| `-p 8080:80` | Expose Apache2 on `localhost:8080`. | |
310 | -| `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. | |
311 | -| `-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)). | |
312 | - |
313 | - |
314 | -#### Testing/Debugging |
315 | - |
316 | -To debug the container: |
317 | - |
318 | -```sh |
319 | -docker logs -f apache2-container |
320 | -``` |
321 | - |
322 | -To get an interactive shell: |
323 | - |
324 | -```sh |
325 | -docker exec -it apache2-container /bin/bash |
326 | -``` |
327 | - |
328 | - |
329 | -## Deploy with Kubernetes |
330 | - |
331 | -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`. |
332 | - |
333 | -Download |
334 | -[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 |
335 | -[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. `lts/apache2:2.4-20.04_beta`), then: |
336 | - |
337 | -```sh |
338 | -kubectl create configmap apache2-config --from-file=apache2=apache2.conf --from-file=apache2-site=index.html |
339 | -kubectl apply -f apache2-deployment.yml |
340 | -``` |
341 | - |
342 | -You will now be able to connect to the apache2 server on `http://localhost:30080`. |
343 | - |
344 | -## Bugs and feature requests |
345 | - |
346 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
347 | - |
348 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
349 | - |
350 | -Please title the bug "`apache2: <issue summary>`". Make sure to include the digest of the image you are using, from: |
351 | - |
352 | -```sh |
353 | -docker images --no-trunc --quiet lts/apache2:<tag> |
354 | -``` |
355 | - |
356 | diff --git a/out-lts/cortex.md b/out-lts/cortex.md |
357 | deleted file mode 100644 |
358 | index ae779d0..0000000 |
359 | --- a/out-lts/cortex.md |
360 | +++ /dev/null |
361 | @@ -1,95 +0,0 @@ |
362 | -# Cortex LTS Docker Image |
363 | - |
364 | -## LTS Docker Image Portfolio |
365 | -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. |
366 | - |
367 | - |
368 | -## About Cortex |
369 | - |
370 | -Cortex provides horizontally scalable, highly available, multi-tenant, long term storage for Prometheus. |
371 | - |
372 | -* Horizontally scalable: Cortex can run across multiple machines in a cluster, exceeding the throughput and storage of a single machine. This enables you to send the metrics from multiple Prometheus servers to a single Cortex cluster and run "globally aggregated" queries across all data in a single place. |
373 | -* Highly available: When run in a cluster, Cortex can replicate data between machines. This allows you to survive machine failure without gaps in your graphs. |
374 | -* Multi-tenant: Cortex can isolate data and queries from multiple different independent Prometheus sources in a single cluster, allowing untrusted parties to share the same cluster. |
375 | -* Long term storage: Cortex supports Amazon DynamoDB, Google Bigtable, Cassandra, S3, GCS and Microsoft Azure for long term storage of metric data. This allows you to durably store data for longer than the lifetime of any single machine, and use this data for long term capacity planning. |
376 | - |
377 | -Read more on the [Cortex website](https://cortexmetrics.io/). |
378 | - |
379 | - |
380 | -## Tags and Architectures |
381 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
382 | -Up to 5 years free security maintenance `from lts/cortex`. |
383 | - |
384 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
385 | -Up to 10 years customer security maintenance `from store/canonical/cortex`. |
386 | - |
387 | -_Tags in italics are not available in lts/cortex but are shown here for completeness._ |
388 | - |
389 | -| 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 | |
390 | -|---|---|---|---|---| |
391 | -| _`track_risk`_ | |
392 | - |
393 | -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`. |
394 | - |
395 | -## Usage |
396 | - |
397 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
398 | - |
399 | -Launch this image locally: |
400 | - |
401 | -```sh |
402 | -docker run -d --name cortex-container -e TZ=UTC -p 32709:9009 lts/cortex:1.4-20.04_beta |
403 | -``` |
404 | -Access your Cortex server at `http://localhost:32709`. |
405 | - |
406 | -#### Parameters |
407 | - |
408 | -| Parameter | Description | |
409 | -|---|---| |
410 | -| `-e TZ=UTC` | Timezone. | |
411 | -| `-p 32709:9009` | Expose Cortex on `localhost:32709`. | |
412 | -| `-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)). | |
413 | - |
414 | - |
415 | -#### Testing/Debugging |
416 | - |
417 | -To debug the container: |
418 | - |
419 | -```sh |
420 | -docker logs -f cortex-container |
421 | -``` |
422 | - |
423 | -To get an interactive shell: |
424 | - |
425 | -```sh |
426 | -docker exec -it cortex-container /bin/bash |
427 | -``` |
428 | - |
429 | - |
430 | -## Deploy with Kubernetes |
431 | - |
432 | -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`. |
433 | - |
434 | -Download |
435 | -[cortex.yaml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/cortex/plain/oci/examples/config/cortex.yaml) and |
436 | -[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. `lts/cortex:1.4-20.04_beta`), then: |
437 | - |
438 | -```sh |
439 | -kubectl create configmap cortex-config --from-file=main-config=cortex.yaml |
440 | -kubectl apply -f cortex-deployment.yml |
441 | -``` |
442 | - |
443 | -You will now be able to connect to the Cortex server on `localhost:32709`. |
444 | - |
445 | -## Bugs and feature requests |
446 | - |
447 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
448 | - |
449 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
450 | - |
451 | -Please title the bug "`cortex: <issue summary>`". Make sure to include the digest of the image you are using, from: |
452 | - |
453 | -```sh |
454 | -docker images --no-trunc --quiet lts/cortex:<tag> |
455 | -``` |
456 | - |
457 | diff --git a/out-lts/grafana.md b/out-lts/grafana.md |
458 | deleted file mode 100644 |
459 | index af4cee1..0000000 |
460 | --- a/out-lts/grafana.md |
461 | +++ /dev/null |
462 | @@ -1,89 +0,0 @@ |
463 | -# Grafana LTS Docker Image |
464 | - |
465 | -## LTS Docker Image Portfolio |
466 | -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. |
467 | - |
468 | - |
469 | -## About Grafana |
470 | - |
471 | -Grafana is a feature rich metrics dashboard and graph editor for Cloudwatch, Elasticsearch, Graphite, InfluxDB, OpenTSB, Prometheus, and Hosted Metrics. Read more on the [Grafana website](https://grafana.com/docs/). |
472 | - |
473 | - |
474 | -## Tags and Architectures |
475 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
476 | -Up to 5 years free security maintenance `from lts/grafana`. |
477 | - |
478 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
479 | -Up to 10 years customer security maintenance `from store/canonical/grafana`. |
480 | - |
481 | -_Tags in italics are not available in lts/grafana but are shown here for completeness._ |
482 | - |
483 | -| 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 | |
484 | -|---|---|---|---|---| |
485 | -| _`track_risk`_ | |
486 | - |
487 | -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`. |
488 | - |
489 | -## Usage |
490 | - |
491 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
492 | - |
493 | -Launch this image locally: |
494 | - |
495 | -```sh |
496 | -docker run -d --name grafana-container -e TZ=UTC -p 30000:3000 lts/grafana:7.2-20.04_beta |
497 | -``` |
498 | -Access your Grafana server at `localhost:30000`. |
499 | - |
500 | -#### Parameters |
501 | - |
502 | -| Parameter | Description | |
503 | -|---|---| |
504 | -| `-e TZ=UTC` | Timezone. | |
505 | -| `-p 30000:3000` | Expose Grafana on `localhost:30000`. | |
506 | -| `-v /path/to/grafana/provisioning/files/:/etc/grafana/provisioning/` | Pass a directory with files to provision a Grafana `datasource` and `dashboard` (see [documentation](https://grafana.com/docs/grafana/latest/administration/provisioning/)). | |
507 | -| `-v /path/to/persisted/data:/var/lib/grafana` | Persist data with a voulme instead of initializing a new database for each newly launched container. | |
508 | - |
509 | - |
510 | -#### Testing/Debugging |
511 | - |
512 | -To debug the container: |
513 | - |
514 | -```sh |
515 | -docker logs -f grafana-container |
516 | -``` |
517 | - |
518 | -To get an interactive shell: |
519 | - |
520 | -```sh |
521 | -docker exec -it grafana-container /bin/bash |
522 | -``` |
523 | - |
524 | - |
525 | -## Deploy with Kubernetes |
526 | - |
527 | -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`. |
528 | - |
529 | -Download |
530 | -[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 |
531 | -[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. `lts/grafana:7.2-20.04_beta`), then: |
532 | - |
533 | -```sh |
534 | -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 |
535 | -kubectl apply -f grafana-deployment.yml |
536 | -``` |
537 | - |
538 | -You will now be able to connect to the Grafana on `http://localhost:30000`. |
539 | - |
540 | -## Bugs and feature requests |
541 | - |
542 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
543 | - |
544 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
545 | - |
546 | -Please title the bug "`grafana: <issue summary>`". Make sure to include the digest of the image you are using, from: |
547 | - |
548 | -```sh |
549 | -docker images --no-trunc --quiet lts/grafana:<tag> |
550 | -``` |
551 | - |
552 | diff --git a/out-lts/memcached.md b/out-lts/memcached.md |
553 | deleted file mode 100644 |
554 | index c33827e..0000000 |
555 | --- a/out-lts/memcached.md |
556 | +++ /dev/null |
557 | @@ -1,119 +0,0 @@ |
558 | -# Memcached LTS Docker Image |
559 | - |
560 | -## LTS Docker Image Portfolio |
561 | -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. |
562 | - |
563 | - |
564 | -## About Memcached |
565 | - |
566 | -Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. It is a short-term memory for applications. 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/). |
567 | - |
568 | - |
569 | -## Tags and Architectures |
570 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
571 | -Up to 5 years free security maintenance `from lts/memcached`. |
572 | - |
573 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
574 | -Up to 10 years customer security maintenance `from store/canonical/memcached`. |
575 | - |
576 | -_Tags in italics are not available in lts/memcached but are shown here for completeness._ |
577 | - |
578 | -| 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 | |
579 | -|---|---|---|---|---| |
580 | -| **`1.5-20.04_beta`** | - | - | Memcached 1.5.22 | `amd64`, `arm64`, `ppc64el`, `s390x` | |
581 | -| _`track_risk`_ | |
582 | - |
583 | -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`. |
584 | - |
585 | -## Usage |
586 | - |
587 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
588 | - |
589 | -Launch this image locally: |
590 | - |
591 | -```sh |
592 | -docker run -d --name memcached-container -e TZ=UTC lts/memcached:1.5-20.04_beta |
593 | -``` |
594 | - |
595 | -#### Parameters |
596 | - |
597 | -| Parameter | Description | |
598 | -|---|---| |
599 | -| `-e TZ=UTC` | Timezone. | |
600 | -| `-e MEMCACHED_CACHE_SIZE=64MB` | Determines the size of the cache. | |
601 | -| `-e MEMCACHED_MAX_CONNECTIONS=1024` | Determines the maximum number of concurrent connections. | |
602 | -| `-e MEMCACHED_THREADS=4` | Determines the number of threads to process requests. | |
603 | -| `-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. | |
604 | -| `-e MEMCACHED_USERNAME` | Define a new user. If this option is passed a password is needed to authenticate the new user. | |
605 | -| `-p 11211` | Memcached is exposed inside the container on port `11211`. | |
606 | - |
607 | - |
608 | -#### Testing/Debugging |
609 | - |
610 | -To debug the container: |
611 | - |
612 | -```sh |
613 | -docker logs -f memcached-container |
614 | -``` |
615 | - |
616 | -To get an interactive shell: |
617 | - |
618 | -```sh |
619 | -docker exec -it memcached-container /bin/bash |
620 | -``` |
621 | - |
622 | -<details> |
623 | -<summary>You can access the Memcached instance with telnet from another container (click to expand).</summary> |
624 | - |
625 | -```sh |
626 | -# Create a dedicated network |
627 | -$ docker network create memcached-network |
628 | -# Connect the main container to it |
629 | -$ docker network connect memcached-network memcached-container |
630 | -# Run an interactive container with the latest Ubuntu |
631 | -$ docker run -it --rm --name telnet --network memcached-network ubuntu bash |
632 | -# Install the telnet cli from within the container |
633 | -> apt update && apt install telnet -y |
634 | -# Connect to the memcached instance using telnet |
635 | -> telnet memcached-container 11211 |
636 | -Trying 172.30.0.2... |
637 | -Connected to memcached. |
638 | -Escape character is '^]'. |
639 | -``` |
640 | -From there you can run `memcached` commands, as documented in [their wiki](https://github.com/memcached/memcached/wiki/Commands). |
641 | - |
642 | -</details> |
643 | - |
644 | -```sh |
645 | -$ telnet memcached-container 11211 |
646 | -``` |
647 | - |
648 | -There are cases where one might want to pass some memcached command line flags that are not configurable via environment variables. |
649 | -In this case you can append the flags themselves or a shell script to the run command. |
650 | - |
651 | - |
652 | -## Deploy with Kubernetes |
653 | - |
654 | -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`. |
655 | - |
656 | -Download |
657 | -[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. `lts/memcached:1.5-20.04_beta`), then: |
658 | - |
659 | -```sh |
660 | -kubectl apply -f memcached-deployment.yml |
661 | -``` |
662 | - |
663 | -Memcached will be listening on port `31211` in your host. |
664 | - |
665 | -## Bugs and feature requests |
666 | - |
667 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
668 | - |
669 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
670 | - |
671 | -Please title the bug "`memcached: <issue summary>`". Make sure to include the digest of the image you are using, from: |
672 | - |
673 | -```sh |
674 | -docker images --no-trunc --quiet lts/memcached:<tag> |
675 | -``` |
676 | - |
677 | diff --git a/out-lts/mysql.md b/out-lts/mysql.md |
678 | deleted file mode 100644 |
679 | index 6239da7..0000000 |
680 | --- a/out-lts/mysql.md |
681 | +++ /dev/null |
682 | @@ -1,116 +0,0 @@ |
683 | -# MySQL LTS Docker Image |
684 | - |
685 | -## LTS Docker Image Portfolio |
686 | -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. |
687 | - |
688 | - |
689 | -## About MySQL |
690 | - |
691 | -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/). |
692 | - |
693 | - |
694 | -## Tags and Architectures |
695 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
696 | -Up to 5 years free security maintenance `from lts/mysql`. |
697 | - |
698 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
699 | -Up to 10 years customer security maintenance `from store/canonical/mysql`. |
700 | - |
701 | -_Tags in italics are not available in lts/mysql but are shown here for completeness._ |
702 | - |
703 | -| 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 | |
704 | -|---|---|---|---|---| |
705 | -| **`8.0-20.04_beta`** | - | - | MySQL 8.0.22 | `amd64`, `arm64`, `s390x` | |
706 | -| _`track_risk`_ | |
707 | - |
708 | -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`. |
709 | - |
710 | -## Usage |
711 | - |
712 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
713 | - |
714 | -Launch this image locally: |
715 | - |
716 | -```sh |
717 | -docker run -d --name mysql-container -e TZ=UTC -p 30306:3306 -e MYSQL_ROOT_PASSWORD=My:S3cr3t/ lts/mysql:8.0-20.04_beta |
718 | -``` |
719 | -Access your MySQL server at `localhost:30306`. |
720 | - |
721 | -#### Parameters |
722 | - |
723 | -| Parameter | Description | |
724 | -|---|---| |
725 | -| `-e TZ=UTC` | Timezone. | |
726 | -| `-e MYSQL_ROOT_PASSWORD=secret_for_root` | Set the password for the `root` user. This option is **mandatory** and **must not be empty**. | |
727 | -| `-e MYSQL_PASSWORD=secret` | Set the password for the `MYSQL_USER` user. | |
728 | -| `-e MYSQL_USER=john` | Create a new user with superuser privileges. This is used in conjunction with `MYSQL_PASSWORD`. | |
729 | -| `-e MYSQL_DATABASE=db_test` | Set the name of the default database. | |
730 | -| `-e MYSQL_ALLOW_EMPTY_PASSWORD=yes` | Set up a blank password for the `root` user. **This is not recommended to be used in production, make sure you know what you are doing**. | |
731 | -| `-e MYSQL_RANDOM_ROOT_PASSWORD=yes` | Generate a random initial password for the `root` user using `pwgen`. It will be printed in the logs, search for `GENERATED ROOT PASSWORD`. | |
732 | -| `-e MYSQL_ONETIME_PASSWORD=yes` | Set `root` user as experide once initialization is complete, forcing a password change on first login. | |
733 | -| `-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. | |
734 | -| `-p 30306:3306` | Expose MySQL server on `localhost:30306`. | |
735 | -| `-v /path/to/data:/var/lib/mysql` | Persist data instead of initializing a new database every time you launch a new container. | |
736 | -| `-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)). | |
737 | - |
738 | -#### Initialization Scripts |
739 | - |
740 | -One can also add initialization scripts to their containers. This includes `*.sql`, `.sql.gz`, and `*.sh` scripts, and you just need to put them inside the `/docker-entrypoint-initdb.d` directory inside the container. After MySQL initialization is done and the default database and user are created, the scripts are executed in the following order: |
741 | - |
742 | -* Run any `*.sql` files in alphabetically order. By default the target database is specified via `MYSQL_DATABASE`. |
743 | -* Run any executable `*.sh` scripts in alphabetically order. |
744 | -* Source any non-executable `*.sh` scripts in alphabetically order. |
745 | - |
746 | -All of this is done before the MySQL service is started. Keep in mind if your database directory is not empty (contains pre-existing database) they will be left untouched. |
747 | - |
748 | - |
749 | -#### Testing/Debugging |
750 | - |
751 | -To debug the container: |
752 | - |
753 | -```sh |
754 | -docker logs -f mysql-container |
755 | -``` |
756 | - |
757 | -To get an interactive shell: |
758 | - |
759 | -```sh |
760 | -docker exec -it mysql-container /bin/bash |
761 | -``` |
762 | - |
763 | -This image also includes the `mysql` client for interactive container use: |
764 | - |
765 | -```sh |
766 | -$ docker network create mysql-network |
767 | -$ docker network connect mysql-network mysql-container |
768 | -$ docker run -it --rm --network mysql-network lts/mysql:8.0-20.04_beta mysql -hmysql-container -uroot -p |
769 | -``` |
770 | -The password will be asked and you can enter `My:S3cr3t/`. Now, you are logged in and can enjoy your new instance. |
771 | - |
772 | -## Deploy with Kubernetes |
773 | - |
774 | -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`. |
775 | - |
776 | -Download |
777 | -[my-custom.cnf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/mysql/plain/examples/config/my-custom.cnf) and |
778 | -[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. `lts/mysql:8.0-20.04_beta`), then: |
779 | - |
780 | -```sh |
781 | -kubectl create configmap mysql-config --from-file=main-config=my-custom.cnf |
782 | -kubectl apply -f mysql-deployment.yml |
783 | -``` |
784 | - |
785 | -You will now be able to connect to the MySQL server on `localhost:30306`. |
786 | - |
787 | -## Bugs and feature requests |
788 | - |
789 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
790 | - |
791 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
792 | - |
793 | -Please title the bug "`mysql: <issue summary>`". Make sure to include the digest of the image you are using, from: |
794 | - |
795 | -```sh |
796 | -docker images --no-trunc --quiet lts/mysql:<tag> |
797 | -``` |
798 | - |
799 | diff --git a/out-lts/nginx.md b/out-lts/nginx.md |
800 | deleted file mode 100644 |
801 | index d837f3c..0000000 |
802 | --- a/out-lts/nginx.md |
803 | +++ /dev/null |
804 | @@ -1,91 +0,0 @@ |
805 | -# Nginx LTS Docker Image |
806 | - |
807 | -## LTS Docker Image Portfolio |
808 | -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. |
809 | - |
810 | - |
811 | -## About Nginx |
812 | - |
813 | -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/). |
814 | - |
815 | - |
816 | -## Tags and Architectures |
817 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
818 | -Up to 5 years free security maintenance `from lts/nginx`. |
819 | - |
820 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
821 | -Up to 10 years customer security maintenance `from store/canonical/nginx`. |
822 | - |
823 | -_Tags in italics are not available in lts/nginx but are shown here for completeness._ |
824 | - |
825 | -| 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 | |
826 | -|---|---|---|---|---| |
827 | -| **`1.18-20.04_beta`** | - | - | Nginx 1.18.0 | `amd64`, `arm64`, `ppc64el`, `s390x` | |
828 | -| _`track_risk`_ | |
829 | - |
830 | -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`. |
831 | - |
832 | -## Usage |
833 | - |
834 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
835 | - |
836 | -Launch this image locally: |
837 | - |
838 | -```sh |
839 | -docker run -d --name nginx-container -e TZ=UTC -p 8080:80 lts/nginx:1.18-20.04_beta |
840 | -``` |
841 | -Access your Nginx server at `http://localhost:8080`. |
842 | - |
843 | -#### Parameters |
844 | - |
845 | -| Parameter | Description | |
846 | -|---|---| |
847 | -| `-e TZ=UTC` | Timezone. | |
848 | -| `-p 8080:80` | Expose Nginx on `localhost:8080`. | |
849 | -| `-v /local/path/to/website:/var/www/html` | Mount and serve a local website. | |
850 | -| `-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;`). | |
851 | -| `-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)). | |
852 | - |
853 | - |
854 | -#### Testing/Debugging |
855 | - |
856 | -To debug the container: |
857 | - |
858 | -```sh |
859 | -docker logs -f nginx-container |
860 | -``` |
861 | - |
862 | -To get an interactive shell: |
863 | - |
864 | -```sh |
865 | -docker exec -it nginx-container /bin/bash |
866 | -``` |
867 | - |
868 | - |
869 | -## Deploy with Kubernetes |
870 | - |
871 | -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`. |
872 | - |
873 | -Download |
874 | -[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 |
875 | -[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. `lts/nginx:1.18-20.04_beta`), then: |
876 | - |
877 | -```sh |
878 | -kubectl create configmap nginx-config --from-file=nginx=nginx.conf --from-file=nginx-site=index.html |
879 | -kubectl apply -f nginx-deployment.yml |
880 | -``` |
881 | - |
882 | -You will now be able to connect to the nginx server on `http://localhost:31080`. |
883 | - |
884 | -## Bugs and feature requests |
885 | - |
886 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
887 | - |
888 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
889 | - |
890 | -Please title the bug "`nginx: <issue summary>`". Make sure to include the digest of the image you are using, from: |
891 | - |
892 | -```sh |
893 | -docker images --no-trunc --quiet lts/nginx:<tag> |
894 | -``` |
895 | - |
896 | diff --git a/out-lts/postgres.md b/out-lts/postgres.md |
897 | deleted file mode 100644 |
898 | index 49c284b..0000000 |
899 | --- a/out-lts/postgres.md |
900 | +++ /dev/null |
901 | @@ -1,115 +0,0 @@ |
902 | -# Postgres LTS Docker Image |
903 | - |
904 | -## LTS Docker Image Portfolio |
905 | -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. |
906 | - |
907 | - |
908 | -## About Postgres |
909 | - |
910 | -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/). |
911 | - |
912 | - |
913 | -## Tags and Architectures |
914 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
915 | -Up to 5 years free security maintenance `from lts/postgres`. |
916 | - |
917 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
918 | -Up to 10 years customer security maintenance `from store/canonical/postgres`. |
919 | - |
920 | -_Tags in italics are not available in lts/postgres but are shown here for completeness._ |
921 | - |
922 | -| 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 | |
923 | -|---|---|---|---|---| |
924 | -| **`12.4-20.04_beta`** | - | - | Postgres 12.4 | `amd64`, `arm64`, `s390x` | |
925 | -| _`track_risk`_ | |
926 | - |
927 | -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`. |
928 | - |
929 | -## Usage |
930 | - |
931 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
932 | - |
933 | -Launch this image locally: |
934 | - |
935 | -```sh |
936 | -docker run -d --name postgres-container -e TZ=UTC -p 30432:5432 -e POSTGRES_PASSWORD=My:s3Cr3t/ lts/postgres:12.4-20.04_beta |
937 | -``` |
938 | -Access your PostgreSQL server at `localhost:30432`. |
939 | - |
940 | -#### Parameters |
941 | - |
942 | -| Parameter | Description | |
943 | -|---|---| |
944 | -| `-e TZ=UTC` | Timezone. | |
945 | -| `-e POSTGRES_PASSWORD=secret` | Set the password for the superuser which is `postgres` by default. Bear in mind that to connect to the database in the same host the password is not needed but to access it via an external host (for instance another container) the password is needed. This option is **mandatory** and **must not be empty**. | |
946 | -| `-e POSTGRES_USER=john` | Create a new user with superuser privileges. This is used in conjunction with `POSTGRES_PASSWORD`. | |
947 | -| `-e POSTGRES_DB=db_test` | Set the name of the default database. | |
948 | -| `-e POSTGRES_INITDB_ARGS="--data-checksums"` | Pass arguments to the `postgres initdb` call. | |
949 | -| `-e POSTGRES_INITDB_WALDIR=/path/to/location` | Set the location of the Postgres transaction log. By default it is stored in a subdirectory of the main Postgres data folder (`PGDATA`). | |
950 | -| `-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`. | |
951 | -| `-e PGDATA=/path/to/location` | Set the location of the database files. The default is `/var/lib/postgresql/data`. | |
952 | -| `-p 30432:5432` | Expose Postgres on `localhost:30432`. | |
953 | -| `-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)). | |
954 | -| `-v /path/to/persisted/data:/var/lib/postgresql/data` | Persist data instead of initializing a new database every time you launch a new container. | |
955 | - |
956 | -#### Initialization Scripts |
957 | - |
958 | -One can also add initialization scripts to their containers. This includes `*.sql`, `.sql.gz`, and `*.sh` scripts, and you just need to put them inside the `/docker-entrypoint-initdb.d` directory inside the container. After Postgres initialization is done and the default database and user are created, the scripts are executed in the following order: |
959 | - |
960 | -* Run any `*.sql` files in alphabetically order. It will be executed with `POSTGRES_USER`. |
961 | -* Run any executable `*.sh` scripts in alphabetically order. |
962 | -* Source any non-executable `*.sh` scripts in alphabetically order. |
963 | - |
964 | -All of this is done before the Postgres service is started. Keep in mind if your `PGDATA` directory is not empty (contains pre-existing database) they will be left untouched. |
965 | - |
966 | - |
967 | -#### Testing/Debugging |
968 | - |
969 | -To debug the container: |
970 | - |
971 | -```sh |
972 | -docker logs -f postgres-container |
973 | -``` |
974 | - |
975 | -To get an interactive shell: |
976 | - |
977 | -```sh |
978 | -docker exec -it postgres-container /bin/bash |
979 | -``` |
980 | - |
981 | -This image also includes the `psql` client for interactive container use: |
982 | - |
983 | -```sh |
984 | -$ docker network create postgres-network |
985 | -$ docker network connect postgres-network postgres-container |
986 | -$ docker run -it --rm --network postgres-network lts/postgres:12.4-20.04_beta psql -h postgres-container -U postgres |
987 | -``` |
988 | -The password will be asked and you can enter `My:s3Cr3t/`. Now, you are logged in and can enjoy your new instance. |
989 | - |
990 | -## Deploy with Kubernetes |
991 | - |
992 | -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`. |
993 | - |
994 | -Download |
995 | -[postgresql.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/postgresql/plain/examples/config/postgresql.conf) and |
996 | -[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. `lts/postgres:12.4-20.04_beta`), then: |
997 | - |
998 | -```sh |
999 | -kubectl create configmap postgres-config --from-file=main-config=postgresql.conf |
1000 | -kubectl apply -f postgres-deployment.yml |
1001 | -``` |
1002 | - |
1003 | -You will now be able to connect to the Postgres server on `localhost:30306`. |
1004 | - |
1005 | -## Bugs and feature requests |
1006 | - |
1007 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
1008 | - |
1009 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
1010 | - |
1011 | -Please title the bug "`postgres: <issue summary>`". Make sure to include the digest of the image you are using, from: |
1012 | - |
1013 | -```sh |
1014 | -docker images --no-trunc --quiet lts/postgres:<tag> |
1015 | -``` |
1016 | - |
1017 | diff --git a/out-lts/prometheus-alertmanager.md b/out-lts/prometheus-alertmanager.md |
1018 | deleted file mode 100644 |
1019 | index 146a4b8..0000000 |
1020 | --- a/out-lts/prometheus-alertmanager.md |
1021 | +++ /dev/null |
1022 | @@ -1,89 +0,0 @@ |
1023 | -# Prometheus Alertmanager LTS Docker Image |
1024 | - |
1025 | -## LTS Docker Image Portfolio |
1026 | -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. |
1027 | - |
1028 | - |
1029 | -## About Prometheus Alertmanager |
1030 | - |
1031 | -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/). |
1032 | - |
1033 | - |
1034 | -## Tags and Architectures |
1035 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
1036 | -Up to 5 years free security maintenance `from lts/prometheus-alertmanager`. |
1037 | - |
1038 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
1039 | -Up to 10 years customer security maintenance `from store/canonical/prometheus-alertmanager`. |
1040 | - |
1041 | -_Tags in italics are not available in lts/prometheus-alertmanager but are shown here for completeness._ |
1042 | - |
1043 | -| 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 | |
1044 | -|---|---|---|---|---| |
1045 | -| _`track_risk`_ | |
1046 | - |
1047 | -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`. |
1048 | - |
1049 | -## Usage |
1050 | - |
1051 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
1052 | - |
1053 | -Launch this image locally: |
1054 | - |
1055 | -```sh |
1056 | -docker run -d --name prometheus-alertmanager-container -e TZ=UTC -p 30093:9093 lts/prometheus-alertmanager:0.21-20.04_beta |
1057 | -``` |
1058 | -Access your Prometheus Alertmanager server at `localhost:30093`. |
1059 | - |
1060 | -#### Parameters |
1061 | - |
1062 | -| Parameter | Description | |
1063 | -|---|---| |
1064 | -| `-e TZ=UTC` | Timezone. | |
1065 | -| `-p 30093:9093` | Expose Prometheus Alertmanager on `localhost:30093`. | |
1066 | -| `-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)). | |
1067 | -| `-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. | |
1068 | - |
1069 | - |
1070 | -#### Testing/Debugging |
1071 | - |
1072 | -To debug the container: |
1073 | - |
1074 | -```sh |
1075 | -docker logs -f prometheus-alertmanager-container |
1076 | -``` |
1077 | - |
1078 | -To get an interactive shell: |
1079 | - |
1080 | -```sh |
1081 | -docker exec -it prometheus-alertmanager-container /bin/bash |
1082 | -``` |
1083 | - |
1084 | - |
1085 | -## Deploy with Kubernetes |
1086 | - |
1087 | -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`. |
1088 | - |
1089 | -Download |
1090 | -[alertmanager.yml](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/prometheus-alertmanager/plain/oci/examples/config/alertmanager.yml) and |
1091 | -[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. `lts/prometheus-alertmanager:0.21-20.04_beta`), then: |
1092 | - |
1093 | -```sh |
1094 | -kubectl create configmap prometheus-alertmanager-config --from-file=alertmanager=alertmanager.yml |
1095 | -kubectl apply -f prometheus-alertmanager-deployment.yml |
1096 | -``` |
1097 | - |
1098 | -You will now be able to connect to the Prometheus Alertmanager server on `localhost:30093`. |
1099 | - |
1100 | -## Bugs and feature requests |
1101 | - |
1102 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
1103 | - |
1104 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
1105 | - |
1106 | -Please title the bug "`prometheus-alertmanager: <issue summary>`". Make sure to include the digest of the image you are using, from: |
1107 | - |
1108 | -```sh |
1109 | -docker images --no-trunc --quiet lts/prometheus-alertmanager:<tag> |
1110 | -``` |
1111 | - |
1112 | diff --git a/out-lts/prometheus.md b/out-lts/prometheus.md |
1113 | deleted file mode 100644 |
1114 | index 3c4066d..0000000 |
1115 | --- a/out-lts/prometheus.md |
1116 | +++ /dev/null |
1117 | @@ -1,89 +0,0 @@ |
1118 | -# Prometheus LTS Docker Image |
1119 | - |
1120 | -## LTS Docker Image Portfolio |
1121 | -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. |
1122 | - |
1123 | - |
1124 | -## About Prometheus |
1125 | - |
1126 | -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/). |
1127 | - |
1128 | - |
1129 | -## Tags and Architectures |
1130 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
1131 | -Up to 5 years free security maintenance `from lts/prometheus`. |
1132 | - |
1133 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
1134 | -Up to 10 years customer security maintenance `from store/canonical/prometheus`. |
1135 | - |
1136 | -_Tags in italics are not available in lts/prometheus but are shown here for completeness._ |
1137 | - |
1138 | -| 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 | |
1139 | -|---|---|---|---|---| |
1140 | -| _`track_risk`_ | |
1141 | - |
1142 | -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`. |
1143 | - |
1144 | -## Usage |
1145 | - |
1146 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
1147 | - |
1148 | -Launch this image locally: |
1149 | - |
1150 | -```sh |
1151 | -docker run -d --name prometheus-container -e TZ=UTC -p 30090:9090 lts/prometheus:2.20-20.04_beta |
1152 | -``` |
1153 | -Access your Prometheus server at `localhost:30090`. |
1154 | - |
1155 | -#### Parameters |
1156 | - |
1157 | -| Parameter | Description | |
1158 | -|---|---| |
1159 | -| `-e TZ=UTC` | Timezone. | |
1160 | -| `-p 30090:9090` | Expose Prometheus server on `localhost:30090`. | |
1161 | -| `-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)). | |
1162 | -| `-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)). | |
1163 | - |
1164 | - |
1165 | -#### Testing/Debugging |
1166 | - |
1167 | -To debug the container: |
1168 | - |
1169 | -```sh |
1170 | -docker logs -f prometheus-container |
1171 | -``` |
1172 | - |
1173 | -To get an interactive shell: |
1174 | - |
1175 | -```sh |
1176 | -docker exec -it prometheus-container /bin/bash |
1177 | -``` |
1178 | - |
1179 | - |
1180 | -## Deploy with Kubernetes |
1181 | - |
1182 | -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`. |
1183 | - |
1184 | -Download |
1185 | -[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 |
1186 | -[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. `lts/prometheus:2.20-20.04_beta`), then: |
1187 | - |
1188 | -```sh |
1189 | -kubectl create configmap prometheus-config --from-file=prometheus=prometheus.yml --from-file=prometheus-alerts=alerts.yml |
1190 | -kubectl apply -f prometheus-deployment.yml |
1191 | -``` |
1192 | - |
1193 | -You will now be able to connect to the Prometheus on `http://localhost:30090`. |
1194 | - |
1195 | -## Bugs and feature requests |
1196 | - |
1197 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
1198 | - |
1199 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
1200 | - |
1201 | -Please title the bug "`prometheus: <issue summary>`". Make sure to include the digest of the image you are using, from: |
1202 | - |
1203 | -```sh |
1204 | -docker images --no-trunc --quiet lts/prometheus:<tag> |
1205 | -``` |
1206 | - |
1207 | diff --git a/out-lts/redis.md b/out-lts/redis.md |
1208 | deleted file mode 100644 |
1209 | index b4b7fda..0000000 |
1210 | --- a/out-lts/redis.md |
1211 | +++ /dev/null |
1212 | @@ -1,109 +0,0 @@ |
1213 | -# Redis LTS Docker Image |
1214 | - |
1215 | -## LTS Docker Image Portfolio |
1216 | -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. |
1217 | - |
1218 | - |
1219 | -## About Redis |
1220 | - |
1221 | -Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. 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. Read more on the [Redis website](https://redis.io/topics/introduction). |
1222 | - |
1223 | - |
1224 | -## Tags and Architectures |
1225 | -![LTS](https://assets.ubuntu.com/v1/0a5ff561-LTS%402x.png?h=17) |
1226 | -Up to 5 years free security maintenance `from lts/redis`. |
1227 | - |
1228 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
1229 | -Up to 10 years customer security maintenance `from store/canonical/redis`. |
1230 | - |
1231 | -_Tags in italics are not available in lts/redis but are shown here for completeness._ |
1232 | - |
1233 | -| 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 | |
1234 | -|---|---|---|---|---| |
1235 | -| _`track_risk`_ | |
1236 | - |
1237 | -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`. |
1238 | - |
1239 | -## Usage |
1240 | - |
1241 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
1242 | - |
1243 | -Launch this image locally: |
1244 | - |
1245 | -```sh |
1246 | -docker run -d --name redis-container -e TZ=UTC -p 30073:6379 -e REDIS_PASSWORD=mypassword lts/redis:5.0-20.04_beta |
1247 | -``` |
1248 | -Access your Redis server at `localhost:30073`. |
1249 | - |
1250 | -#### Parameters |
1251 | - |
1252 | -| Parameter | Description | |
1253 | -|---|---| |
1254 | -| `-e TZ=UTC` | Timezone. | |
1255 | -| `-e ALLOW_EMPTY_PASSWORD` | Set to `yes` to allow connections to `redis-server` without a password. **This setting is not recommended in production environments**. | |
1256 | -| `-e REDIS_PASSWORD` | Set the desired password to be used. | |
1257 | -| `-e REDIS_RANDOM_PASSWORD` | Set this variable to `1` if you would like the entrypoint script to generate a random password for you. You will be able to see the generated password in the logs (`docker logs`). | |
1258 | -| `-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). | |
1259 | -| `-e REDIS_EXTRA_FLAGS` | Specify extra flags to be passed to `redis-server` when initializing it. | |
1260 | -| `-p 30073:6379` | Expose redis on `localhost:30073`. | |
1261 | -| `-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)). | |
1262 | - |
1263 | - |
1264 | -#### Testing/Debugging |
1265 | - |
1266 | -To debug the container: |
1267 | - |
1268 | -```sh |
1269 | -docker logs -f redis-container |
1270 | -``` |
1271 | - |
1272 | -To get an interactive shell: |
1273 | - |
1274 | -```sh |
1275 | -docker exec -it redis-container /bin/bash |
1276 | -``` |
1277 | - |
1278 | -This image also includes the `redis-cli` client for interactive container use: |
1279 | - |
1280 | -```sh |
1281 | -$ docker network create redis-network |
1282 | -$ docker network connect redis-network redis-container |
1283 | -$ docker run -it --rm --network redis-network lts/redis:5.0-20.04_beta redis-cli -h redis-container |
1284 | -``` |
1285 | -Now you can: |
1286 | -``` |
1287 | -redis:6379> AUTH mypassword |
1288 | -OK |
1289 | -redis:6379> PING |
1290 | -PONG |
1291 | -redis:6379> |
1292 | - |
1293 | -``` |
1294 | - |
1295 | -## Deploy with Kubernetes |
1296 | - |
1297 | -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`. |
1298 | - |
1299 | -Download |
1300 | -[redis.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/redis/plain/examples/config/redis.conf) and |
1301 | -[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. `lts/redis:5.0-20.04_beta`), then: |
1302 | - |
1303 | -```sh |
1304 | -kubectl create configmap redis-config --from-file=redis=redis.conf |
1305 | -kubectl apply -f redis-deployment.yml |
1306 | -``` |
1307 | - |
1308 | -You will now be able to connect to the Redis server on `localhost:30073`. |
1309 | - |
1310 | -## Bugs and feature requests |
1311 | - |
1312 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
1313 | - |
1314 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
1315 | - |
1316 | -Please title the bug "`redis: <issue summary>`". Make sure to include the digest of the image you are using, from: |
1317 | - |
1318 | -```sh |
1319 | -docker images --no-trunc --quiet lts/redis:<tag> |
1320 | -``` |
1321 | - |
1322 | diff --git a/out-lts/telegraf.md b/out-lts/telegraf.md |
1323 | deleted file mode 100644 |
1324 | index 778a1e4..0000000 |
1325 | --- a/out-lts/telegraf.md |
1326 | +++ /dev/null |
1327 | @@ -1,88 +0,0 @@ |
1328 | -# Telegraf LTS Docker Image |
1329 | - |
1330 | -## LTS Docker Image Portfolio |
1331 | -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. |
1332 | - |
1333 | - |
1334 | -## About Telegraf |
1335 | - |
1336 | -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/). |
1337 | - |
1338 | - |
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 `from lts/telegraf`. |
1342 | - |
1343 | -![ESM](https://assets.ubuntu.com/v1/572f3fbd-ESM%402x.png?h=17) |
1344 | -Up to 10 years customer security maintenance `from store/canonical/telegraf`. |
1345 | - |
1346 | -_Tags in italics are not available in lts/telegraf but are shown here for completeness._ |
1347 | - |
1348 | -| 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 | |
1349 | -|---|---|---|---|---| |
1350 | -| _`track_risk`_ | |
1351 | - |
1352 | -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`. |
1353 | - |
1354 | -## Usage |
1355 | - |
1356 | -If your usage includes redistribution, please [contact Canonical](https://ubuntu.com/security/docker-images#get-in-touch). |
1357 | - |
1358 | -Launch this image locally: |
1359 | - |
1360 | -```sh |
1361 | -docker run -d --name telegraf-container -e TZ=UTC -p 30273:9273 lts/telegraf:1.15-20.04_beta |
1362 | -``` |
1363 | -Access your Telegraf server at `localhost:30273`. |
1364 | - |
1365 | -#### Parameters |
1366 | - |
1367 | -| Parameter | Description | |
1368 | -|---|---| |
1369 | -| `-e TZ=UTC` | Timezone. | |
1370 | -| `-p 30273:9273` | Expose Telegraf on `localhost:30273`. | |
1371 | -| `-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)). | |
1372 | - |
1373 | - |
1374 | -#### Testing/Debugging |
1375 | - |
1376 | -To debug the container: |
1377 | - |
1378 | -```sh |
1379 | -docker logs -f telegraf-container |
1380 | -``` |
1381 | - |
1382 | -To get an interactive shell: |
1383 | - |
1384 | -```sh |
1385 | -docker exec -it telegraf-container /bin/bash |
1386 | -``` |
1387 | - |
1388 | - |
1389 | -## Deploy with Kubernetes |
1390 | - |
1391 | -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`. |
1392 | - |
1393 | -Download |
1394 | -[telegraf.conf](https://git.launchpad.net/~canonical-server/ubuntu-docker-images/+git/telegraf/plain/examples/config/telegraf.conf) and |
1395 | -[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. `lts/telegraf:1.15-20.04_beta`), then: |
1396 | - |
1397 | -```sh |
1398 | -kubectl create configmap telegraf-config --from-file=main-config=telegraf.conf |
1399 | -kubectl apply -f telegraf-deployment.yml |
1400 | -``` |
1401 | - |
1402 | -You will now be able to connect to the Telegraf server on `localhost:30073`. |
1403 | - |
1404 | -## Bugs and feature requests |
1405 | - |
1406 | -If you find a bug in our image or want to request a specific feature, please file a bug here: |
1407 | - |
1408 | -[https://bugs.launchpad.net/ubuntu-docker-images/+filebug](https://bugs.launchpad.net/ubuntu-docker-images/+filebug) |
1409 | - |
1410 | -Please title the bug "`telegraf: <issue summary>`". Make sure to include the digest of the image you are using, from: |
1411 | - |
1412 | -```sh |
1413 | -docker images --no-trunc --quiet lts/telegraf:<tag> |
1414 | -``` |
1415 | - |
Note that I do have some remaining questions over the new structure:
1 - Should we remove all the documentation bits from the individial OCI repositories in favor of the new structure? i.e., remove data?* and README.md from those repositories.
2 - How about the HACKING files? Should we still maintain those in the individual repositories?