-
Notifications
You must be signed in to change notification settings - Fork 650
/
Copy pathlabels.go
110 lines (80 loc) · 3.52 KB
/
labels.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/*
Copyright The containerd Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package labels defines labels that are set to containerd containers as labels.
// The labels are also passed to OCI containers as annotations.
package labels
const (
// Prefix is the common prefix of nerdctl labels
Prefix = "nerdctl/"
// Namespace is the containerd namespace such as "default", "k8s.io"
Namespace = Prefix + "namespace"
// Name is a human-friendly name.
// WARNING: multiple containers may have same the name label
Name = Prefix + "name"
//Compose Project Name
ComposeProject = "com.docker.compose.project"
//Compose Service Name
ComposeService = "com.docker.compose.service"
//Compose Network Name
ComposeNetwork = "com.docker.compose.network"
//Compose Volume Name
ComposeVolume = "com.docker.compose.volume"
// Hostname
Hostname = Prefix + "hostname"
// ExtraHosts are HostIPs to appended to /etc/hosts
ExtraHosts = Prefix + "extraHosts"
// StateDir is "/var/lib/nerdctl/<ADDRHASH>/containers/<NAMESPACE>/<ID>"
StateDir = Prefix + "state-dir"
// Networks is a JSON-marshalled string of []string, e.g. []string{"bridge"}.
// Currently, the length of the slice must be 1.
Networks = Prefix + "networks"
// Ports is a JSON-marshalled string of []gocni.PortMapping .
Ports = Prefix + "ports"
// IPAddress is the static IP address of the container assigned by the user
IPAddress = Prefix + "ip"
// IP6Address is the static IP6 address of the container assigned by the user
IP6Address = Prefix + "ip6"
// LogURI is the log URI
LogURI = Prefix + "log-uri"
// PIDFile is the `nerdctl run --pidfile`
// (CLI flag is "pidfile", not "pid-file", for Podman compatibility)
PIDFile = Prefix + "pid-file"
// AnonymousVolumes is a JSON-marshalled string of []string
AnonymousVolumes = Prefix + "anonymous-volumes"
// Platform is the normalized platform string like "linux/ppc64le".
Platform = Prefix + "platform"
// Mounts is the mount points for the container.
Mounts = Prefix + "mounts"
// Bypass4netns is the flag for acceleration with bypass4netns
// Boolean value which can be parsed with strconv.ParseBool() is required.
// (like "nerdctl/bypass4netns=true" or "nerdctl/bypass4netns=false")
Bypass4netns = Prefix + "bypass4netns"
// StopTimeout is seconds to wait for stop a container.
StopTimout = Prefix + "stop-timeout"
MACAddress = Prefix + "mac-address"
// PIDContainer is the `nerdctl run --pid` for restarting
PIDContainer = Prefix + "pid-container"
// Error encapsulates a container human-readable string
// that describes container error.
Error = Prefix + "error"
// NerdctlDefaultNetwork indicates whether a network is the default network
// created and owned by Nerdctl.
// Boolean value which can be parsed with strconv.ParseBool() is required.
// (like "nerdctl/default-network=true" or "nerdctl/default-network=false")
NerdctlDefaultNetwork = Prefix + "default-network"
)
var ShellCompletions = []string{
Bypass4netns + "=true",
Bypass4netns + "=false",
// Other labels should not be set via CLI
}