mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-26 11:03:34 +00:00
feat: define essential container spec parameters
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
package api
|
||||||
|
|
||||||
|
type CPUResources struct {
|
||||||
|
// Limit is the maximum amount of CPU nanocores (1000000000 = 1 CPU core) the container can use.
|
||||||
|
Limit int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type MemoryResources struct {
|
||||||
|
// Limit is the maximum amount of memory (in bytes) the container can use.
|
||||||
|
Limit int64
|
||||||
|
// Reservation is the minimum amount of memory (in bytes) the container needs to run efficiently.
|
||||||
|
// TODO: implement a placement constraint that checks available memory on machines.
|
||||||
|
Reservation int64
|
||||||
|
}
|
||||||
+18
-1
@@ -162,6 +162,8 @@ func (s *ServiceSpec) Clone() ServiceSpec {
|
|||||||
type ContainerSpec struct {
|
type ContainerSpec struct {
|
||||||
// Command overrides the default CMD of the image to be executed when running a container.
|
// Command overrides the default CMD of the image to be executed when running a container.
|
||||||
Command []string
|
Command []string
|
||||||
|
// CPU resource allocation for the container.
|
||||||
|
CPU CPUResources
|
||||||
// Entrypoint overrides the default ENTRYPOINT of the image.
|
// Entrypoint overrides the default ENTRYPOINT of the image.
|
||||||
Entrypoint []string
|
Entrypoint []string
|
||||||
// Env defines the environment variables to set inside the container.
|
// Env defines the environment variables to set inside the container.
|
||||||
@@ -169,14 +171,22 @@ type ContainerSpec struct {
|
|||||||
Image string
|
Image string
|
||||||
// Run a custom init inside the container. If nil, use the daemon's configured settings.
|
// Run a custom init inside the container. If nil, use the daemon's configured settings.
|
||||||
Init *bool
|
Init *bool
|
||||||
|
// LogDriver overrides the default logging driver for the container. Each Docker daemon can have its own default.
|
||||||
|
LogDriver *LogDriver
|
||||||
|
// Memory resource allocation for the container.
|
||||||
|
Memory MemoryResources
|
||||||
|
// Privileged gives extended privileges to the container. This is a security risk and should be used with caution.
|
||||||
|
Privileged bool
|
||||||
// PullPolicy determines when to pull the image from the registry or use the image already available in the cluster.
|
// PullPolicy determines when to pull the image from the registry or use the image already available in the cluster.
|
||||||
// Default is PullPolicyMissing if empty.
|
// Default is PullPolicyMissing if empty.
|
||||||
PullPolicy string
|
PullPolicy string
|
||||||
|
// User overrides the default user of the image used to run the container. Format: user|UID[:group|GID].
|
||||||
|
User string
|
||||||
// VolumeMounts specifies how volumes are mounted into the container filesystem.
|
// VolumeMounts specifies how volumes are mounted into the container filesystem.
|
||||||
// Each mount references a volume defined in ServiceSpec.Volumes.
|
// Each mount references a volume defined in ServiceSpec.Volumes.
|
||||||
VolumeMounts []VolumeMount
|
VolumeMounts []VolumeMount
|
||||||
// Volumes is list of data volumes to mount into the container.
|
// Volumes is list of data volumes to mount into the container.
|
||||||
// TODO(lhf): replace with []VolumeMounts
|
// TODO(lhf): delete all usage, has been replaced with []VolumeMounts.
|
||||||
Volumes []string
|
Volumes []string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,6 +264,13 @@ func (e EnvVars) ToSlice() []string {
|
|||||||
return env
|
return env
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type LogDriver struct {
|
||||||
|
// Name of the logging driver to use.
|
||||||
|
Name string
|
||||||
|
// Options is the configuration options to pass to the logging driver.
|
||||||
|
Options map[string]string
|
||||||
|
}
|
||||||
|
|
||||||
type RunServiceResponse struct {
|
type RunServiceResponse struct {
|
||||||
ID string
|
ID string
|
||||||
Name string
|
Name string
|
||||||
|
|||||||
Reference in New Issue
Block a user