mirror of https://github.com/containers/podman.git
Vendor containers/common v0.14.0
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
parent
d6965da26d
commit
713287ce36
2
go.mod
2
go.mod
|
@ -11,7 +11,7 @@ require (
|
||||||
github.com/containernetworking/cni v0.7.2-0.20200304161608-4fae32b84921
|
github.com/containernetworking/cni v0.7.2-0.20200304161608-4fae32b84921
|
||||||
github.com/containernetworking/plugins v0.8.6
|
github.com/containernetworking/plugins v0.8.6
|
||||||
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224
|
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224
|
||||||
github.com/containers/common v0.13.1
|
github.com/containers/common v0.14.0
|
||||||
github.com/containers/conmon v2.0.18+incompatible
|
github.com/containers/conmon v2.0.18+incompatible
|
||||||
github.com/containers/image/v5 v5.4.5-0.20200529084758-46b2ee6aebb0
|
github.com/containers/image/v5 v5.4.5-0.20200529084758-46b2ee6aebb0
|
||||||
github.com/containers/psgo v1.5.1
|
github.com/containers/psgo v1.5.1
|
||||||
|
|
6
go.sum
6
go.sum
|
@ -70,8 +70,8 @@ github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHV
|
||||||
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224 h1:EqwBZRqyUYvU7JOmmSSPviSaAoUP1wN0cefXXDZ9ATo=
|
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224 h1:EqwBZRqyUYvU7JOmmSSPviSaAoUP1wN0cefXXDZ9ATo=
|
||||||
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224/go.mod h1:5ZkWjOuK90yl55L5R+purJNLfUo0VUr8pstJazNtYck=
|
github.com/containers/buildah v1.14.9-0.20200523094741-de0f541d9224/go.mod h1:5ZkWjOuK90yl55L5R+purJNLfUo0VUr8pstJazNtYck=
|
||||||
github.com/containers/common v0.11.2/go.mod h1:2w3QE6VUmhltGYW4wV00h4okq1Crs7hNI1ZD2I0QRUY=
|
github.com/containers/common v0.11.2/go.mod h1:2w3QE6VUmhltGYW4wV00h4okq1Crs7hNI1ZD2I0QRUY=
|
||||||
github.com/containers/common v0.13.1 h1:6aE/IIxPPQk8DmND87tsWU1Aop/7mCC0T3dk/fZdm3k=
|
github.com/containers/common v0.14.0 h1:hiZFDPf6ajKiDmojN5f5X3gboKPO73NLrYb0RXfrQiA=
|
||||||
github.com/containers/common v0.13.1/go.mod h1:Kg9Enw+WOUa9pwx47fzxEdzOn5+ofYXjBJdCyaCeSSA=
|
github.com/containers/common v0.14.0/go.mod h1:9olhlE+WhYof1npnMJdyRMX14/yIUint6zyHzcyRVAg=
|
||||||
github.com/containers/conmon v2.0.18+incompatible h1:rjwjNnE756NuXcdE/uUmj4kDbrykslPuBMHI31wh43E=
|
github.com/containers/conmon v2.0.18+incompatible h1:rjwjNnE756NuXcdE/uUmj4kDbrykslPuBMHI31wh43E=
|
||||||
github.com/containers/conmon v2.0.18+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I=
|
github.com/containers/conmon v2.0.18+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I=
|
||||||
github.com/containers/image/v5 v5.4.3/go.mod h1:pN0tvp3YbDd7BWavK2aE0mvJUqVd2HmhPjekyWSFm0U=
|
github.com/containers/image/v5 v5.4.3/go.mod h1:pN0tvp3YbDd7BWavK2aE0mvJUqVd2HmhPjekyWSFm0U=
|
||||||
|
@ -318,8 +318,6 @@ github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+
|
||||||
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
|
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
|
||||||
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
||||||
github.com/onsi/ginkgo v1.12.3 h1:+RYp9QczoWz9zfUyLP/5SLXQVhfr6gZOoKGfQqHuLZQ=
|
|
||||||
github.com/onsi/ginkgo v1.12.3/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY=
|
|
||||||
github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y=
|
github.com/onsi/ginkgo v1.13.0 h1:M76yO2HkZASFjXL0HSoZJ1AYEmQxNJmY41Jx1zNUq1Y=
|
||||||
github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0=
|
github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0=
|
||||||
github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
||||||
|
|
|
@ -74,105 +74,105 @@ type Config struct {
|
||||||
type ContainersConfig struct {
|
type ContainersConfig struct {
|
||||||
|
|
||||||
// Devices to add to all containers
|
// Devices to add to all containers
|
||||||
Devices []string `toml:"devices"`
|
Devices []string `toml:"devices,omitempty"`
|
||||||
|
|
||||||
// Volumes to add to all containers
|
// Volumes to add to all containers
|
||||||
Volumes []string `toml:"volumes"`
|
Volumes []string `toml:"volumes,omitempty"`
|
||||||
|
|
||||||
// ApparmorProfile is the apparmor profile name which is used as the
|
// ApparmorProfile is the apparmor profile name which is used as the
|
||||||
// default for the runtime.
|
// default for the runtime.
|
||||||
ApparmorProfile string `toml:"apparmor_profile"`
|
ApparmorProfile string `toml:"apparmor_profile,omitempty"`
|
||||||
|
|
||||||
// Annotation to add to all containers
|
// Annotation to add to all containers
|
||||||
Annotations []string `toml:"annotations"`
|
Annotations []string `toml:"annotations,omitempty"`
|
||||||
|
|
||||||
// Default way to create a cgroup namespace for the container
|
// Default way to create a cgroup namespace for the container
|
||||||
CgroupNS string `toml:"cgroupns"`
|
CgroupNS string `toml:"cgroupns,omitempty"`
|
||||||
|
|
||||||
// Default cgroup configuration
|
// Default cgroup configuration
|
||||||
Cgroups string `toml:"cgroups"`
|
Cgroups string `toml:"cgroups,omitempty"`
|
||||||
|
|
||||||
// Capabilities to add to all containers.
|
// Capabilities to add to all containers.
|
||||||
DefaultCapabilities []string `toml:"default_capabilities"`
|
DefaultCapabilities []string `toml:"default_capabilities,omitempty"`
|
||||||
|
|
||||||
// Sysctls to add to all containers.
|
// Sysctls to add to all containers.
|
||||||
DefaultSysctls []string `toml:"default_sysctls"`
|
DefaultSysctls []string `toml:"default_sysctls,omitempty"`
|
||||||
|
|
||||||
// DefaultUlimits specifies the default ulimits to apply to containers
|
// DefaultUlimits specifies the default ulimits to apply to containers
|
||||||
DefaultUlimits []string `toml:"default_ulimits"`
|
DefaultUlimits []string `toml:"default_ulimits,omitempty"`
|
||||||
|
|
||||||
// DefaultMountsFile is the path to the default mounts file for testing
|
// DefaultMountsFile is the path to the default mounts file for testing
|
||||||
DefaultMountsFile string `toml:"-"`
|
DefaultMountsFile string `toml:"-"`
|
||||||
|
|
||||||
// DNSServers set default DNS servers.
|
// DNSServers set default DNS servers.
|
||||||
DNSServers []string `toml:"dns_servers"`
|
DNSServers []string `toml:"dns_servers,omitempty"`
|
||||||
|
|
||||||
// DNSOptions set default DNS options.
|
// DNSOptions set default DNS options.
|
||||||
DNSOptions []string `toml:"dns_options"`
|
DNSOptions []string `toml:"dns_options,omitempty"`
|
||||||
|
|
||||||
// DNSSearches set default DNS search domains.
|
// DNSSearches set default DNS search domains.
|
||||||
DNSSearches []string `toml:"dns_searches"`
|
DNSSearches []string `toml:"dns_searches,omitempty"`
|
||||||
|
|
||||||
// EnableLabeling tells the container engines whether to use MAC
|
// EnableLabeling tells the container engines whether to use MAC
|
||||||
// Labeling to separate containers (SELinux)
|
// Labeling to separate containers (SELinux)
|
||||||
EnableLabeling bool `toml:"label"`
|
EnableLabeling bool `toml:"label,omitempty"`
|
||||||
|
|
||||||
// Env is the environment variable list for container process.
|
// Env is the environment variable list for container process.
|
||||||
Env []string `toml:"env"`
|
Env []string `toml:"env,omitempty"`
|
||||||
|
|
||||||
// EnvHost Pass all host environment variables into the container.
|
// EnvHost Pass all host environment variables into the container.
|
||||||
EnvHost bool `toml:"env_host"`
|
EnvHost bool `toml:"env_host,omitempty"`
|
||||||
|
|
||||||
// HTTPProxy is the proxy environment variable list to apply to container process
|
// HTTPProxy is the proxy environment variable list to apply to container process
|
||||||
HTTPProxy bool `toml:"http_proxy"`
|
HTTPProxy bool `toml:"http_proxy,omitempty"`
|
||||||
|
|
||||||
// Init tells container runtimes whether to run init inside the
|
// Init tells container runtimes whether to run init inside the
|
||||||
// container that forwards signals and reaps processes.
|
// container that forwards signals and reaps processes.
|
||||||
Init bool `toml:"init"`
|
Init bool `toml:"init,omitempty"`
|
||||||
|
|
||||||
// InitPath is the path for init to run if the Init bool is enabled
|
// InitPath is the path for init to run if the Init bool is enabled
|
||||||
InitPath string `toml:"init_path"`
|
InitPath string `toml:"init_path,omitempty"`
|
||||||
|
|
||||||
// IPCNS way to to create a ipc namespace for the container
|
// IPCNS way to to create a ipc namespace for the container
|
||||||
IPCNS string `toml:"ipcns"`
|
IPCNS string `toml:"ipcns,omitempty"`
|
||||||
|
|
||||||
// LogDriver for the container. For example: k8s-file and journald
|
// LogDriver for the container. For example: k8s-file and journald
|
||||||
LogDriver string `toml:"log_driver"`
|
LogDriver string `toml:"log_driver,omitempty"`
|
||||||
|
|
||||||
// LogSizeMax is the maximum number of bytes after which the log file
|
// LogSizeMax is the maximum number of bytes after which the log file
|
||||||
// will be truncated. It can be expressed as a human-friendly string
|
// will be truncated. It can be expressed as a human-friendly string
|
||||||
// that is parsed to bytes.
|
// that is parsed to bytes.
|
||||||
// Negative values indicate that the log file won't be truncated.
|
// Negative values indicate that the log file won't be truncated.
|
||||||
LogSizeMax int64 `toml:"log_size_max"`
|
LogSizeMax int64 `toml:"log_size_max,omitempty"`
|
||||||
|
|
||||||
// NetNS indicates how to create a network namespace for the container
|
// NetNS indicates how to create a network namespace for the container
|
||||||
NetNS string `toml:"netns"`
|
NetNS string `toml:"netns,omitempty"`
|
||||||
|
|
||||||
// NoHosts tells container engine whether to create its own /etc/hosts
|
// NoHosts tells container engine whether to create its own /etc/hosts
|
||||||
NoHosts bool `toml:"no_hosts"`
|
NoHosts bool `toml:"no_hosts,omitempty"`
|
||||||
|
|
||||||
// PidsLimit is the number of processes each container is restricted to
|
// PidsLimit is the number of processes each container is restricted to
|
||||||
// by the cgroup process number controller.
|
// by the cgroup process number controller.
|
||||||
PidsLimit int64 `toml:"pids_limit"`
|
PidsLimit int64 `toml:"pids_limit,omitempty"`
|
||||||
|
|
||||||
// PidNS indicates how to create a pid namespace for the container
|
// PidNS indicates how to create a pid namespace for the container
|
||||||
PidNS string `toml:"pidns"`
|
PidNS string `toml:"pidns,omitempty"`
|
||||||
|
|
||||||
// SeccompProfile is the seccomp.json profile path which is used as the
|
// SeccompProfile is the seccomp.json profile path which is used as the
|
||||||
// default for the runtime.
|
// default for the runtime.
|
||||||
SeccompProfile string `toml:"seccomp_profile"`
|
SeccompProfile string `toml:"seccomp_profile,omitempty"`
|
||||||
|
|
||||||
// ShmSize holds the size of /dev/shm.
|
// ShmSize holds the size of /dev/shm.
|
||||||
ShmSize string `toml:"shm_size"`
|
ShmSize string `toml:"shm_size,omitempty"`
|
||||||
|
|
||||||
// UTSNS indicates how to create a UTS namespace for the container
|
// UTSNS indicates how to create a UTS namespace for the container
|
||||||
UTSNS string `toml:"utsns"`
|
UTSNS string `toml:"utsns,omitempty"`
|
||||||
|
|
||||||
// UserNS indicates how to create a User namespace for the container
|
// UserNS indicates how to create a User namespace for the container
|
||||||
UserNS string `toml:"userns"`
|
UserNS string `toml:"userns,omitempty"`
|
||||||
|
|
||||||
// UserNSSize how many UIDs to allocate for automatically created UserNS
|
// UserNSSize how many UIDs to allocate for automatically created UserNS
|
||||||
UserNSSize int `toml:"userns_size"`
|
UserNSSize int `toml:"userns_size,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// EngineConfig contains configuration options used to set up a engine runtime
|
// EngineConfig contains configuration options used to set up a engine runtime
|
||||||
|
@ -183,20 +183,20 @@ type EngineConfig struct {
|
||||||
|
|
||||||
// CGroupManager is the CGroup Manager to use Valid values are "cgroupfs"
|
// CGroupManager is the CGroup Manager to use Valid values are "cgroupfs"
|
||||||
// and "systemd".
|
// and "systemd".
|
||||||
CgroupManager string `toml:"cgroup_manager"`
|
CgroupManager string `toml:"cgroup_manager,omitempty"`
|
||||||
|
|
||||||
// NOTE: when changing this struct, make sure to update (*Config).Merge().
|
// NOTE: when changing this struct, make sure to update (*Config).Merge().
|
||||||
|
|
||||||
// ConmonEnvVars are environment variables to pass to the Conmon binary
|
// ConmonEnvVars are environment variables to pass to the Conmon binary
|
||||||
// when it is launched.
|
// when it is launched.
|
||||||
ConmonEnvVars []string `toml:"conmon_env_vars"`
|
ConmonEnvVars []string `toml:"conmon_env_vars,omitempty"`
|
||||||
|
|
||||||
// ConmonPath is the path to the Conmon binary used for managing containers.
|
// ConmonPath is the path to the Conmon binary used for managing containers.
|
||||||
// The first path pointing to a valid file will be used.
|
// The first path pointing to a valid file will be used.
|
||||||
ConmonPath []string `toml:"conmon_path"`
|
ConmonPath []string `toml:"conmon_path,omitempty"`
|
||||||
|
|
||||||
//DetachKeys is the sequence of keys used to detach a container.
|
//DetachKeys is the sequence of keys used to detach a container.
|
||||||
DetachKeys string `toml:"detach_keys"`
|
DetachKeys string `toml:"detach_keys,omitempty"`
|
||||||
|
|
||||||
// EnablePortReservation determines whether engine will reserve ports on the
|
// EnablePortReservation determines whether engine will reserve ports on the
|
||||||
// host when they are forwarded to containers. When enabled, when ports are
|
// host when they are forwarded to containers. When enabled, when ports are
|
||||||
|
@ -205,32 +205,32 @@ type EngineConfig struct {
|
||||||
// programs on the host. However, this can cause significant memory usage if
|
// programs on the host. However, this can cause significant memory usage if
|
||||||
// a container has many ports forwarded to it. Disabling this can save
|
// a container has many ports forwarded to it. Disabling this can save
|
||||||
// memory.
|
// memory.
|
||||||
EnablePortReservation bool `toml:"enable_port_reservation"`
|
EnablePortReservation bool `toml:"enable_port_reservation,omitempty"`
|
||||||
|
|
||||||
// EventsLogFilePath is where the events log is stored.
|
// EventsLogFilePath is where the events log is stored.
|
||||||
EventsLogFilePath string `toml:"events_logfile_path"`
|
EventsLogFilePath string `toml:"events_logfile_path,omitempty"`
|
||||||
|
|
||||||
// EventsLogger determines where events should be logged.
|
// EventsLogger determines where events should be logged.
|
||||||
EventsLogger string `toml:"events_logger"`
|
EventsLogger string `toml:"events_logger,omitempty"`
|
||||||
|
|
||||||
// configuration files. When the same filename is present in in
|
// configuration files. When the same filename is present in in
|
||||||
// multiple directories, the file in the directory listed last in
|
// multiple directories, the file in the directory listed last in
|
||||||
// this slice takes precedence.
|
// this slice takes precedence.
|
||||||
HooksDir []string `toml:"hooks_dir"`
|
HooksDir []string `toml:"hooks_dir,omitempty"`
|
||||||
|
|
||||||
// ImageDefaultTransport is the default transport method used to fetch
|
// ImageDefaultTransport is the default transport method used to fetch
|
||||||
// images.
|
// images.
|
||||||
ImageDefaultTransport string `toml:"image_default_transport"`
|
ImageDefaultTransport string `toml:"image_default_transport,omitempty"`
|
||||||
|
|
||||||
// InfraCommand is the command run to start up a pod infra container.
|
// InfraCommand is the command run to start up a pod infra container.
|
||||||
InfraCommand string `toml:"infra_command"`
|
InfraCommand string `toml:"infra_command,omitempty"`
|
||||||
|
|
||||||
// InfraImage is the image a pod infra container will use to manage
|
// InfraImage is the image a pod infra container will use to manage
|
||||||
// namespaces.
|
// namespaces.
|
||||||
InfraImage string `toml:"infra_image"`
|
InfraImage string `toml:"infra_image,omitempty"`
|
||||||
|
|
||||||
// InitPath is the path to the container-init binary.
|
// InitPath is the path to the container-init binary.
|
||||||
InitPath string `toml:"init_path"`
|
InitPath string `toml:"init_path,omitempty"`
|
||||||
|
|
||||||
// LockType is the type of locking to use.
|
// LockType is the type of locking to use.
|
||||||
LockType string `toml:"lock_type,omitempty"`
|
LockType string `toml:"lock_type,omitempty"`
|
||||||
|
@ -244,27 +244,27 @@ type EngineConfig struct {
|
||||||
Namespace string `toml:"namespace,omitempty"`
|
Namespace string `toml:"namespace,omitempty"`
|
||||||
|
|
||||||
// NetworkCmdPath is the path to the slirp4netns binary.
|
// NetworkCmdPath is the path to the slirp4netns binary.
|
||||||
NetworkCmdPath string `toml:"network_cmd_path"`
|
NetworkCmdPath string `toml:"network_cmd_path,omitempty"`
|
||||||
|
|
||||||
// NoPivotRoot sets whether to set no-pivot-root in the OCI runtime.
|
// NoPivotRoot sets whether to set no-pivot-root in the OCI runtime.
|
||||||
NoPivotRoot bool `toml:"no_pivot_root"`
|
NoPivotRoot bool `toml:"no_pivot_root,omitempty"`
|
||||||
|
|
||||||
// NumLocks is the number of locks to make available for containers and
|
// NumLocks is the number of locks to make available for containers and
|
||||||
// pods.
|
// pods.
|
||||||
NumLocks uint32 `toml:"num_locks,omitempty"`
|
NumLocks uint32 `toml:"num_locks,omitempty"`
|
||||||
|
|
||||||
// OCIRuntime is the OCI runtime to use.
|
// OCIRuntime is the OCI runtime to use.
|
||||||
OCIRuntime string `toml:"runtime"`
|
OCIRuntime string `toml:"runtime,omitempty"`
|
||||||
|
|
||||||
// OCIRuntimes are the set of configured OCI runtimes (default is runc).
|
// OCIRuntimes are the set of configured OCI runtimes (default is runc).
|
||||||
OCIRuntimes map[string][]string `toml:"runtimes"`
|
OCIRuntimes map[string][]string `toml:"runtimes,omitempty"`
|
||||||
|
|
||||||
// PullPolicy determines whether to pull image before creating or running a container
|
// PullPolicy determines whether to pull image before creating or running a container
|
||||||
// default is "missing"
|
// default is "missing"
|
||||||
PullPolicy string `toml:"pull_policy"`
|
PullPolicy string `toml:"pull_policy,omitempty"`
|
||||||
|
|
||||||
// Indicates whether the application should be running in Remote mode
|
// Indicates whether the application should be running in Remote mode
|
||||||
Remote bool `toml:"_"`
|
Remote bool `toml:"-"`
|
||||||
|
|
||||||
// RemoteURI containers connection information used to connect to remote system.
|
// RemoteURI containers connection information used to connect to remote system.
|
||||||
RemoteURI string `toml:"remote_uri,omitempty"`
|
RemoteURI string `toml:"remote_uri,omitempty"`
|
||||||
|
@ -280,15 +280,15 @@ type EngineConfig struct {
|
||||||
|
|
||||||
// RuntimeSupportsJSON is the list of the OCI runtimes that support
|
// RuntimeSupportsJSON is the list of the OCI runtimes that support
|
||||||
// --format=json.
|
// --format=json.
|
||||||
RuntimeSupportsJSON []string `toml:"runtime_supports_json"`
|
RuntimeSupportsJSON []string `toml:"runtime_supports_json,omitempty"`
|
||||||
|
|
||||||
// RuntimeSupportsNoCgroups is a list of OCI runtimes that support
|
// RuntimeSupportsNoCgroups is a list of OCI runtimes that support
|
||||||
// running containers without CGroups.
|
// running containers without CGroups.
|
||||||
RuntimeSupportsNoCgroups []string `toml:"runtime_supports_nocgroupv2"`
|
RuntimeSupportsNoCgroups []string `toml:"runtime_supports_nocgroupv2,omitempty"`
|
||||||
|
|
||||||
// RuntimeSupportsKVM is a list of OCI runtimes that support
|
// RuntimeSupportsKVM is a list of OCI runtimes that support
|
||||||
// KVM separation for conatainers.
|
// KVM separation for conatainers.
|
||||||
RuntimeSupportsKVM []string `toml:"runtime_supports_kvm"`
|
RuntimeSupportsKVM []string `toml:"runtime_supports_kvm,omitempty"`
|
||||||
|
|
||||||
// SetOptions contains a subset of config options. It's used to indicate if
|
// SetOptions contains a subset of config options. It's used to indicate if
|
||||||
// a given option has either been set by the user or by the parsed
|
// a given option has either been set by the user or by the parsed
|
||||||
|
@ -300,11 +300,11 @@ type EngineConfig struct {
|
||||||
// SignaturePolicyPath is the path to a signature policy to use for
|
// SignaturePolicyPath is the path to a signature policy to use for
|
||||||
// validating images. If left empty, the containers/image default signature
|
// validating images. If left empty, the containers/image default signature
|
||||||
// policy will be used.
|
// policy will be used.
|
||||||
SignaturePolicyPath string `toml:"_"`
|
SignaturePolicyPath string `toml:"-"`
|
||||||
|
|
||||||
// SDNotify tells container engine to allow containers to notify the host systemd of
|
// SDNotify tells container engine to allow containers to notify the host systemd of
|
||||||
// readiness using the SD_NOTIFY mechanism.
|
// readiness using the SD_NOTIFY mechanism.
|
||||||
SDNotify bool
|
SDNotify bool `toml:"-"`
|
||||||
|
|
||||||
// StateType is the type of the backing state store. Avoid using multiple
|
// StateType is the type of the backing state store. Avoid using multiple
|
||||||
// values for this with the same containers/storage configuration on the
|
// values for this with the same containers/storage configuration on the
|
||||||
|
@ -315,20 +315,20 @@ type EngineConfig struct {
|
||||||
|
|
||||||
// StaticDir is the path to a persistent directory to store container
|
// StaticDir is the path to a persistent directory to store container
|
||||||
// files.
|
// files.
|
||||||
StaticDir string `toml:"static_dir"`
|
StaticDir string `toml:"static_dir,omitempty"`
|
||||||
|
|
||||||
// StopTimeout is the number of seconds to wait for container to exit
|
// StopTimeout is the number of seconds to wait for container to exit
|
||||||
// before sending kill signal.
|
// before sending kill signal.
|
||||||
StopTimeout uint `toml:"stop_timeout"`
|
StopTimeout uint `toml:"stop_timeout,omitempty"`
|
||||||
|
|
||||||
// TmpDir is the path to a temporary directory to store per-boot container
|
// TmpDir is the path to a temporary directory to store per-boot container
|
||||||
// files. Must be stored in a tmpfs.
|
// files. Must be stored in a tmpfs.
|
||||||
TmpDir string `toml:"tmp_dir"`
|
TmpDir string `toml:"tmp_dir,omitempty"`
|
||||||
|
|
||||||
// VolumePath is the default location that named volumes will be created
|
// VolumePath is the default location that named volumes will be created
|
||||||
// under. This convention is followed by the default volume driver, but
|
// under. This convention is followed by the default volume driver, but
|
||||||
// may not be by other drivers.
|
// may not be by other drivers.
|
||||||
VolumePath string `toml:"volume_path"`
|
VolumePath string `toml:"volume_path,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetOptions contains a subset of options in a Config. It's used to indicate if
|
// SetOptions contains a subset of options in a Config. It's used to indicate if
|
||||||
|
@ -377,14 +377,14 @@ type SetOptions struct {
|
||||||
// NetworkConfig represents the "network" TOML config table
|
// NetworkConfig represents the "network" TOML config table
|
||||||
type NetworkConfig struct {
|
type NetworkConfig struct {
|
||||||
// CNIPluginDirs is where CNI plugin binaries are stored.
|
// CNIPluginDirs is where CNI plugin binaries are stored.
|
||||||
CNIPluginDirs []string `toml:"cni_plugin_dirs"`
|
CNIPluginDirs []string `toml:"cni_plugin_dirs,omitempty"`
|
||||||
|
|
||||||
// DefaultNetwork is the network name of the default CNI network
|
// DefaultNetwork is the network name of the default CNI network
|
||||||
// to attach pods to.
|
// to attach pods to.
|
||||||
DefaultNetwork string `toml:"default_network,omitempty"`
|
DefaultNetwork string `toml:"default_network,omitempty"`
|
||||||
|
|
||||||
// NetworkConfigDir is where CNI network configuration files are stored.
|
// NetworkConfigDir is where CNI network configuration files are stored.
|
||||||
NetworkConfigDir string `toml:"network_config_dir"`
|
NetworkConfigDir string `toml:"network_config_dir,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewConfig creates a new Config. It starts with an empty config and, if
|
// NewConfig creates a new Config. It starts with an empty config and, if
|
||||||
|
@ -856,3 +856,77 @@ func Path() string {
|
||||||
}
|
}
|
||||||
return OverrideContainersConfig
|
return OverrideContainersConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func customConfigFile() (string, error) {
|
||||||
|
path := os.Getenv("CONTAINERS_CONF")
|
||||||
|
if path != "" {
|
||||||
|
return path, nil
|
||||||
|
}
|
||||||
|
if unshare.IsRootless() {
|
||||||
|
path, err := rootlessConfigPath()
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return path, nil
|
||||||
|
}
|
||||||
|
return OverrideContainersConfig, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
//ReadCustomConfig reads the custom config and only generates a config based on it
|
||||||
|
//If the custom config file does not exists, function will return an empty config
|
||||||
|
func ReadCustomConfig() (*Config, error) {
|
||||||
|
path, err := customConfigFile()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
// hack since Ommitempty does not seem to work with Write
|
||||||
|
c, err := Default()
|
||||||
|
if err != nil {
|
||||||
|
if os.IsNotExist(errors.Cause(err)) {
|
||||||
|
c, err = DefaultConfig()
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
newConfig := &Config{}
|
||||||
|
if _, err := os.Stat(path); err == nil {
|
||||||
|
newConfig, err = readConfigFromFile(path, newConfig)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if !os.IsNotExist(err) {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newConfig.Containers.LogSizeMax = c.Containers.LogSizeMax
|
||||||
|
newConfig.Containers.PidsLimit = c.Containers.PidsLimit
|
||||||
|
newConfig.Containers.UserNSSize = c.Containers.UserNSSize
|
||||||
|
newConfig.Engine.NumLocks = c.Engine.NumLocks
|
||||||
|
newConfig.Engine.StopTimeout = c.Engine.StopTimeout
|
||||||
|
return newConfig, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write writes the configuration to the default file
|
||||||
|
func (c *Config) Write() error {
|
||||||
|
var err error
|
||||||
|
path, err := customConfigFile()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
configFile, err := os.OpenFile(path, os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0600)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrapf(err, "cannot open %s", path)
|
||||||
|
}
|
||||||
|
defer configFile.Close()
|
||||||
|
enc := toml.NewEncoder(configFile)
|
||||||
|
if err := enc.Encode(c); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
# Ulimits has limits for non privileged container engines.
|
# Ulimits has limits for non privileged container engines.
|
||||||
#
|
#
|
||||||
# default_ulimits = [
|
# default_ulimits = [
|
||||||
# “nofile”=”1280:2560”,
|
# "nofile"="1280:2560",
|
||||||
# ]
|
# ]
|
||||||
|
|
||||||
# List of default DNS options to be added to /etc/resolv.conf inside of the container.
|
# List of default DNS options to be added to /etc/resolv.conf inside of the container.
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
|
|
||||||
# Set default DNS servers.
|
# Set default DNS servers.
|
||||||
# This option can be used to override the DNS configuration passed to the
|
# This option can be used to override the DNS configuration passed to the
|
||||||
# container. The special value “none” can be specified to disable creation of
|
# container. The special value "none" can be specified to disable creation of
|
||||||
# /etc/resolv.conf in the container.
|
# /etc/resolv.conf in the container.
|
||||||
# The /etc/resolv.conf file in the image will be used without changes.
|
# The /etc/resolv.conf file in the image will be used without changes.
|
||||||
#
|
#
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
# Path to OCI hooks directories for automatically executed hooks.
|
# Path to OCI hooks directories for automatically executed hooks.
|
||||||
#
|
#
|
||||||
# hooks_dir = [
|
# hooks_dir = [
|
||||||
# “/usr/share/containers/oci/hooks.d”,
|
# "/usr/share/containers/oci/hooks.d",
|
||||||
# ]
|
# ]
|
||||||
|
|
||||||
# Default proxy environment variables passed into the container.
|
# Default proxy environment variables passed into the container.
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
# userns = "host"
|
# userns = "host"
|
||||||
|
|
||||||
# Number of UIDs to allocate for the automatic container creation.
|
# Number of UIDs to allocate for the automatic container creation.
|
||||||
# UIDs are allocated from the “container” UIDs listed in
|
# UIDs are allocated from the "container" UIDs listed in
|
||||||
# /etc/subuid & /etc/subgid
|
# /etc/subuid & /etc/subgid
|
||||||
#
|
#
|
||||||
# userns_size=65536
|
# userns_size=65536
|
||||||
|
@ -241,7 +241,7 @@
|
||||||
[engine]
|
[engine]
|
||||||
|
|
||||||
# Cgroup management implementation used for the runtime.
|
# Cgroup management implementation used for the runtime.
|
||||||
# Valid options “systemd” or “cgroupfs”
|
# Valid options "systemd" or "cgroupfs"
|
||||||
#
|
#
|
||||||
# cgroup_manager = "systemd"
|
# cgroup_manager = "systemd"
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ github.com/containers/buildah/pkg/secrets
|
||||||
github.com/containers/buildah/pkg/supplemented
|
github.com/containers/buildah/pkg/supplemented
|
||||||
github.com/containers/buildah/pkg/umask
|
github.com/containers/buildah/pkg/umask
|
||||||
github.com/containers/buildah/util
|
github.com/containers/buildah/util
|
||||||
# github.com/containers/common v0.13.1
|
# github.com/containers/common v0.14.0
|
||||||
github.com/containers/common/pkg/apparmor
|
github.com/containers/common/pkg/apparmor
|
||||||
github.com/containers/common/pkg/auth
|
github.com/containers/common/pkg/auth
|
||||||
github.com/containers/common/pkg/capabilities
|
github.com/containers/common/pkg/capabilities
|
||||||
|
|
Loading…
Reference in New Issue