@@ -8,58 +8,6 @@ target="_blank" rel="noreferrer noopener">Image tags</a> are variants of the
8
8
original (or base) image. Users can publish new image tags containing updated
9
9
dependencies and tooling useful for work on the project.
10
10
11
- ## Image tag lifecycle
12
-
13
- Coder uses tags for images to determine which image a user intends create a
14
- workspace from. Examples of tags:
15
-
16
- ubuntu:rolling
17
- ubuntu:20.04
18
- codercom/enterprise-node:ubuntu
19
- mycorp/myproject:v1
20
-
21
- For the first pair, they both refer to Ubuntu base images however the way each
22
- tag is used is quite different. The ` :20.04 ` tag stays with that release and is
23
- updated with patches and fixes but not typically new functionality. For new
24
- functionality, the ` :rolling ` tag will move up to ` :20.10 ` and eventually ` :21.04 `
25
- as the new versions are released.
26
-
27
- In Coder, if a workspace is created using a ` :20.04 ` style tag and the supported
28
- software moves on to require ` :20.10 ` , the user will not be alerted. Coder will
29
- inform the developer when patches and updates are available so they can rebuild
30
- the workspace to get rid of the outdated versions. This is good for long-term
31
- support of software that has lengthy version cycles or multiple supported
32
- versions where jumping back to "last year's release" to investigate or hotfix
33
- can be expected.
34
-
35
- If the workspace is created from a ` :rolling ` or ` :latest ` sort of tag, the
36
- workspace will prompt to be rebuilt for the same patching and security updates
37
- but will also prompt for a rebuild when a major version increase happens. This
38
- may be preferred for support SaaS or mobile apps that update frequently and need
39
- to stay current for everyone.
40
-
41
- For the ` codercom/enterprise-node:ubuntu ` image, the name denotes the company
42
- and software architecture ("node") while the tag specifies the base image.
43
- Without a version, it can be assumed that it will operate like a rolling
44
- tag. It also implies that other flavors such as ` :centos ` or ` :arch ` may be
45
- available if users prefer those.
46
-
47
- Finally, the ` mycorp/myproj:v1 ` image can help make it clear that the image is
48
- tightly associated with a specific project's major version. The ` :v1 ` tag can
49
- be applied to the most recent build for that image while more specific ` :v1.3 `
50
- or even ` :v1.3.1 ` tags allow users to summon a very specific tag.
51
-
52
- #### Summary
53
-
54
- * ` latest ` will always prompt the user to rebuild whenever the tag is placed
55
- on a new image
56
- * ` v1 ` will prompt the user to rebuild whenever the tag is placed on a new
57
- image but shouldn't move to ` v2 `
58
- * ` ubuntu ` or another sort of tag will behave as ` latest ` but implies the
59
- existence of alternatives
60
- * ` v1.3.1 ` would typically not be added to Coder unless a user needs to go
61
- back to a very specific image from
62
-
63
11
## Add a tag
64
12
65
13
To add a tag to Coder:
@@ -92,3 +40,53 @@ To use an existing tag as the default tag, click the **vertical ellipses** for a
92
40
tag and select ** Make default** .
93
41
94
42
![ Set Existing Tag as Default] ( ../assets/existing-tag-as-default.png )
43
+
44
+ ## Image tag lifecycle
45
+
46
+ Coder uses image tags to determine which image variant on which the user wants
47
+ to base their environment.
48
+
49
+ Image tags are expressed using the following notation:
50
+
51
+ ``` text
52
+ <image>:<image-tag>
53
+ ```
54
+
55
+ Examples include:
56
+
57
+ ``` text
58
+ ubuntu:20.04
59
+ ubuntu:rolling
60
+ codercom/enterprise-node:ubuntu
61
+ mycorp/myproject:v1
62
+ ```
63
+
64
+ The name formatting of the tag will change the way Coder behaves regarding image
65
+ updates:
66
+
67
+ - If you build your environment using a ` ubuntu:rolling ` or ` ubuntu:latest ` tag,
68
+ Coder prompts you to rebuild for patches, security updates, and major version
69
+ releases. If you're supporting a SaaS product or working on mobile apps, you
70
+ may opt for this to ensure that your tools stay up-to-date.
71
+
72
+ - If you build your environment using a specific version tag (e.g.,
73
+ ` ubuntu:20.04 ` ), Coder will alert you regarding patches and security updates
74
+ so that you rebuild your environment (you won't get these fixes otherwise).
75
+ Coder does not, however, alert you regarding minor releases (e.g., movement
76
+ from ` 20.04 ` to ` 20.10 ` ). This is a good option for those offering long-term
77
+ support of software with lengthier version cycles or those supporting multiple
78
+ versions where you expect to revert back to a prior release to investigate and
79
+ fix issues.
80
+
81
+ - If you build your environment using a tag like
82
+ ` codercom/enterprise-node:ubuntu ` , the image name indicates the company and
83
+ software architecture (also known as the node), while the tag specifies the
84
+ base image. Without any additional information, such as a version number, you
85
+ can expect this to operate like a ` rolling ` or ` latest ` tag. You can also
86
+ assume there are other variants, such as ` codercom/enterprise-node:centos ` or
87
+ ` codercom/enterprise-node:arch ` .
88
+
89
+ - If you build your environment using ` mycorp/myproject:v1 ` , the image is
90
+ associated with a specific project's major version. You can apply the ` :v1 `
91
+ tag to the most recent build for the image, while you can use ` :v1.3 ` or
92
+ ` :v1.3.1 ` to pull a more specific tag version.
0 commit comments