blob: f1ba21650d064cfdf560b37f14db280174d82fb0 (
plain)
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
|
package entities
import (
"net"
"github.com/containers/image/v5/types"
)
// PlayKubeOptions controls playing kube YAML files.
type PlayKubeOptions struct {
// Annotations - Annotations to add to Pods
Annotations map[string]string
// Authfile - path to an authentication file.
Authfile string
// Indicator to build all images with Containerfile or Dockerfile
Build types.OptionalBool
// CertDir - to a directory containing TLS certifications and keys.
CertDir string
// ContextDir - directory containing image contexts used for Build
ContextDir string
// Down indicates whether to bring contents of a yaml file "down"
// as in stop
Down bool
// Replace indicates whether to delete and recreate a yaml file
Replace bool
// Do not create /etc/hosts within the pod's containers,
// instead use the version from the image
NoHosts bool
// Username for authenticating against the registry.
Username string
// Password for authenticating against the registry.
Password string
// Networks - name of the network to connect to.
Networks []string
// Quiet - suppress output when pulling images.
Quiet bool
// SignaturePolicy - path to a signature-policy file.
SignaturePolicy string
// SkipTLSVerify - skip https and certificate validation when
// contacting container registries.
SkipTLSVerify types.OptionalBool
// SeccompProfileRoot - path to a directory containing seccomp
// profiles.
SeccompProfileRoot string
// StaticIPs - Static IP address used by the pod(s).
StaticIPs []net.IP
// StaticMACs - Static MAC address used by the pod(s).
StaticMACs []net.HardwareAddr
// ConfigMaps - slice of pathnames to kubernetes configmap YAMLs.
ConfigMaps []string
// LogDriver for the container. For example: journald
LogDriver string
// LogOptions for the log driver for the container.
LogOptions []string
// Start - don't start the pod if false
Start types.OptionalBool
// ServiceContainer - creates a service container that is started before and is stopped after all pods.
ServiceContainer bool
// Userns - define the user namespace to use.
Userns string
}
// PlayKubePod represents a single pod and associated containers created by play kube
type PlayKubePod struct {
// ID - ID of the pod created as a result of play kube.
ID string
// Containers - the IDs of the containers running in the created pod.
Containers []string
// InitContainers - the IDs of the init containers to be run in the created pod.
InitContainers []string
// Logs - non-fatal errors and log messages while processing.
Logs []string
// ContainerErrors - any errors that occurred while starting containers
// in the pod.
ContainerErrors []string
}
// PlayKubeVolume represents a single volume created by play kube.
type PlayKubeVolume struct {
// Name - Name of the volume created by play kube.
Name string
}
// PlayKubeReport contains the results of running play kube.
type PlayKubeReport struct {
// Pods - pods created by play kube.
Pods []PlayKubePod
// Volumes - volumes created by play kube.
Volumes []PlayKubeVolume
PlayKubeTeardown
}
// PlayKubeDownOptions are options for tearing down pods
type PlayKubeDownOptions struct{}
// PlayKubeDownReport contains the results of tearing down play kube
type PlayKubeTeardown struct {
StopReport []*PodStopReport
RmReport []*PodRmReport
}
|