Documentation ¶
Index ¶
- Constants
- func SysctlsFromPodAnnotations(a map[string]string) ([]Sysctl, []Sysctl, error)
- type APIConfig
- type Config
- type SecretData
- type Server
- func (s *Server) Attach(ctx context.Context, req *pb.AttachRequest) (resp *pb.AttachResponse, err error)
- func (s *Server) BindAddress() string
- func (s *Server) ContainerStats(ctx context.Context, req *pb.ContainerStatsRequest) (resp *pb.ContainerStatsResponse, err error)
- func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusRequest) (resp *pb.ContainerStatusResponse, err error)
- func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerRequest) (res *pb.CreateContainerResponse, err error)
- func (s *Server) CreateMetricsEndpoint() (*http.ServeMux, error)
- func (s *Server) Exec(ctx context.Context, req *pb.ExecRequest) (resp *pb.ExecResponse, err error)
- func (s *Server) ExecSync(ctx context.Context, req *pb.ExecSyncRequest) (resp *pb.ExecSyncResponse, err error)
- func (s *Server) GetAttach(req *pb.AttachRequest) (*pb.AttachResponse, error)
- func (s *Server) GetContainer(id string) *oci.Container
- func (s *Server) GetExec(req *pb.ExecRequest) (*pb.ExecResponse, error)
- func (s *Server) GetInfoMux() *bone.Mux
- func (s *Server) GetPortForward(req *pb.PortForwardRequest) (*pb.PortForwardResponse, error)
- func (s *Server) GetSandboxContainer(id string) *oci.Container
- func (s *Server) GetSandboxIP(sb *sandbox.Sandbox) (string, error)
- func (s *Server) ImageFsInfo(ctx context.Context, req *pb.ImageFsInfoRequest) (resp *pb.ImageFsInfoResponse, err error)
- func (s *Server) ImageStatus(ctx context.Context, req *pb.ImageStatusRequest) (resp *pb.ImageStatusResponse, err error)
- func (s *Server) ListContainerStats(ctx context.Context, req *pb.ListContainerStatsRequest) (resp *pb.ListContainerStatsResponse, err error)
- func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersRequest) (resp *pb.ListContainersResponse, err error)
- func (s *Server) ListImages(ctx context.Context, req *pb.ListImagesRequest) (resp *pb.ListImagesResponse, err error)
- func (s *Server) ListPodSandbox(ctx context.Context, req *pb.ListPodSandboxRequest) (resp *pb.ListPodSandboxResponse, err error)
- func (s *Server) MonitorsCloseChan() chan struct{}
- func (s *Server) PodSandboxStatus(ctx context.Context, req *pb.PodSandboxStatusRequest) (resp *pb.PodSandboxStatusResponse, err error)
- func (s *Server) PortForward(ctx context.Context, req *pb.PortForwardRequest) (resp *pb.PortForwardResponse, err error)
- func (s *Server) PullImage(ctx context.Context, req *pb.PullImageRequest) (resp *pb.PullImageResponse, err error)
- func (s *Server) RemoveContainer(ctx context.Context, req *pb.RemoveContainerRequest) (resp *pb.RemoveContainerResponse, err error)
- func (s *Server) RemoveImage(ctx context.Context, req *pb.RemoveImageRequest) (resp *pb.RemoveImageResponse, err error)
- func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxRequest) (resp *pb.RemovePodSandboxResponse, err error)
- func (s *Server) ReopenContainerLog(ctx context.Context, req *pb.ReopenContainerLogRequest) (resp *pb.ReopenContainerLogResponse, err error)
- func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest) (resp *pb.RunPodSandboxResponse, err error)
- func (s *Server) Shutdown() error
- func (s *Server) StartContainer(ctx context.Context, req *pb.StartContainerRequest) (resp *pb.StartContainerResponse, err error)
- func (s *Server) StartExitMonitor()
- func (s *Server) StartHooksMonitor()
- func (s *Server) Status(ctx context.Context, req *pb.StatusRequest) (resp *pb.StatusResponse, err error)
- func (s *Server) StopAllPodSandboxes()
- func (s *Server) StopContainer(ctx context.Context, req *pb.StopContainerRequest) (resp *pb.StopContainerResponse, err error)
- func (s *Server) StopMonitors()
- func (s *Server) StopPodSandbox(ctx context.Context, req *pb.StopPodSandboxRequest) (resp *pb.StopPodSandboxResponse, err error)
- func (s *Server) StopStreamServer() error
- func (s *Server) StreamingServerCloseChan() chan struct{}
- func (s *Server) Update()
- func (s *Server) UpdateContainerResources(ctx context.Context, req *pb.UpdateContainerResourcesRequest) (resp *pb.UpdateContainerResourcesResponse, err error)
- func (s *Server) UpdateRuntimeConfig(ctx context.Context, req *pb.UpdateRuntimeConfigRequest) (resp *pb.UpdateRuntimeConfigResponse, err error)
- func (s *Server) Version(ctx context.Context, req *pb.VersionRequest) (resp *pb.VersionResponse, err error)
- type Sysctl
- type VersionPayload
Constants ¶
const ( AttachPipeStdin = 1 AttachPipeStdout = 2 AttachPipeStderr = 3 )
Sync with stdpipe_t in conmon.c
const ( // PodInfraOOMAdj is the value that we set for oom score adj for // the pod infra container. // TODO: Remove this const once this value is provided over CRI // See https://github.com/kubernetes/kubernetes/issues/47938 PodInfraOOMAdj int = -998 PodInfraCPUshares = 2 )
const ( // SysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure // container of a pod. The annotation value is a comma separated list of sysctl_name=value // key-value pairs. Only a limited set of whitelisted and isolated sysctls is supported by // the kubelet. Pods with other sysctls will fail to launch. SysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/sysctls" // UnsafeSysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure // container of a pod. The annotation value is a comma separated list of sysctl_name=value // key-value pairs. Unsafe sysctls must be explicitly enabled for a kubelet. They are properly // namespaced to a pod or a container, but their isolation is usually unclear or weak. Their use // is at-your-own-risk. Pods that attempt to set an unsafe sysctl that is not enabled for a kubelet // will fail to launch. UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls" )
const CrioConfigPath = "/etc/crio/crio.conf"
CrioConfigPath is the default location for the conf file
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APIConfig ¶
type APIConfig struct { // Listen is the path to the AF_LOCAL socket on which cri-o will listen. // This may support proto://addr formats later, but currently this is just // a path. Listen string `toml:"listen"` // StreamAddress is the IP address on which the stream server will listen. StreamAddress string `toml:"stream_address"` // StreamPort is the port on which the stream server will listen. StreamPort string `toml:"stream_port"` }
APIConfig represents the "crio.api" TOML config table.
type Config ¶
Config represents the entire set of configuration values that can be set for the server. This is intended to be loaded from a toml-encoded config file.
func DefaultConfig ¶ added in v1.0.0
func DefaultConfig() *Config
DefaultConfig returns the default configuration for crio.
func (*Config) ToFile ¶
ToFile outputs the given Config as a TOML-encoded file at the given path. Returns errors encountered when generating or writing the file, or nil otherwise.
func (*Config) UpdateFromFile ¶ added in v1.0.0
UpdateFromFile populates the Config from the TOML-encoded file at the given path. Returns errors encountered when reading or parsing the files, or nil otherwise.
type SecretData ¶ added in v1.0.0
SecretData info
func (SecretData) SaveTo ¶ added in v1.0.0
func (s SecretData) SaveTo(dir string) error
SaveTo saves secret data to given directory
type Server ¶
type Server struct { *lib.ContainerServer // contains filtered or unexported fields }
Server implements the RuntimeService and ImageService
func (*Server) Attach ¶
func (s *Server) Attach(ctx context.Context, req *pb.AttachRequest) (resp *pb.AttachResponse, err error)
Attach prepares a streaming endpoint to attach to a running container.
func (*Server) BindAddress ¶ added in v1.0.0
BindAddress is used to retrieve host's IP
func (*Server) ContainerStats ¶ added in v1.0.0
func (s *Server) ContainerStats(ctx context.Context, req *pb.ContainerStatsRequest) (resp *pb.ContainerStatsResponse, err error)
ContainerStats returns stats of the container. If the container does not exist, the call returns an error.
func (*Server) ContainerStatus ¶
func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusRequest) (resp *pb.ContainerStatusResponse, err error)
ContainerStatus returns status of the container.
func (*Server) CreateContainer ¶
func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerRequest) (res *pb.CreateContainerResponse, err error)
CreateContainer creates a new container in specified PodSandbox
func (*Server) CreateMetricsEndpoint ¶ added in v1.0.0
CreateMetricsEndpoint creates a /metrics endpoint for prometheus monitoring
func (*Server) Exec ¶
func (s *Server) Exec(ctx context.Context, req *pb.ExecRequest) (resp *pb.ExecResponse, err error)
Exec prepares a streaming endpoint to execute a command in the container.
func (*Server) ExecSync ¶
func (s *Server) ExecSync(ctx context.Context, req *pb.ExecSyncRequest) (resp *pb.ExecSyncResponse, err error)
ExecSync runs a command in a container synchronously.
func (*Server) GetAttach ¶ added in v1.0.0
func (s *Server) GetAttach(req *pb.AttachRequest) (*pb.AttachResponse, error)
GetAttach returns attach stream request
func (*Server) GetContainer ¶ added in v1.0.0
GetContainer returns a container by its ID
func (*Server) GetExec ¶ added in v1.0.0
func (s *Server) GetExec(req *pb.ExecRequest) (*pb.ExecResponse, error)
GetExec returns exec stream request
func (*Server) GetInfoMux ¶ added in v1.0.0
GetInfoMux returns the mux used to serve info requests
func (*Server) GetPortForward ¶ added in v1.0.0
func (s *Server) GetPortForward(req *pb.PortForwardRequest) (*pb.PortForwardResponse, error)
GetPortForward returns port forward stream request
func (*Server) GetSandboxContainer ¶ added in v1.0.0
GetSandboxContainer returns the infra container for a given sandbox
func (*Server) GetSandboxIP ¶ added in v1.9.8
GetSandboxIP retrieves the IP address for the sandbox
func (*Server) ImageFsInfo ¶ added in v1.0.0
func (s *Server) ImageFsInfo(ctx context.Context, req *pb.ImageFsInfoRequest) (resp *pb.ImageFsInfoResponse, err error)
ImageFsInfo returns information of the filesystem that is used to store images.
func (*Server) ImageStatus ¶
func (s *Server) ImageStatus(ctx context.Context, req *pb.ImageStatusRequest) (resp *pb.ImageStatusResponse, err error)
ImageStatus returns the status of the image.
func (*Server) ListContainerStats ¶ added in v1.0.0
func (s *Server) ListContainerStats(ctx context.Context, req *pb.ListContainerStatsRequest) (resp *pb.ListContainerStatsResponse, err error)
ListContainerStats returns stats of all running containers.
func (*Server) ListContainers ¶
func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersRequest) (resp *pb.ListContainersResponse, err error)
ListContainers lists all containers by filters.
func (*Server) ListImages ¶
func (s *Server) ListImages(ctx context.Context, req *pb.ListImagesRequest) (resp *pb.ListImagesResponse, err error)
ListImages lists existing images.
func (*Server) ListPodSandbox ¶
func (s *Server) ListPodSandbox(ctx context.Context, req *pb.ListPodSandboxRequest) (resp *pb.ListPodSandboxResponse, err error)
ListPodSandbox returns a list of SandBoxes.
func (*Server) MonitorsCloseChan ¶ added in v1.10.0
func (s *Server) MonitorsCloseChan() chan struct{}
MonitorsCloseChan returns the close chan for the exit monitor
func (*Server) PodSandboxStatus ¶
func (s *Server) PodSandboxStatus(ctx context.Context, req *pb.PodSandboxStatusRequest) (resp *pb.PodSandboxStatusResponse, err error)
PodSandboxStatus returns the Status of the PodSandbox.
func (*Server) PortForward ¶
func (s *Server) PortForward(ctx context.Context, req *pb.PortForwardRequest) (resp *pb.PortForwardResponse, err error)
PortForward prepares a streaming endpoint to forward ports from a PodSandbox.
func (*Server) PullImage ¶
func (s *Server) PullImage(ctx context.Context, req *pb.PullImageRequest) (resp *pb.PullImageResponse, err error)
PullImage pulls a image with authentication config.
func (*Server) RemoveContainer ¶
func (s *Server) RemoveContainer(ctx context.Context, req *pb.RemoveContainerRequest) (resp *pb.RemoveContainerResponse, err error)
RemoveContainer removes the container. If the container is running, the container should be force removed.
func (*Server) RemoveImage ¶
func (s *Server) RemoveImage(ctx context.Context, req *pb.RemoveImageRequest) (resp *pb.RemoveImageResponse, err error)
RemoveImage removes the image.
func (*Server) RemovePodSandbox ¶
func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxRequest) (resp *pb.RemovePodSandboxResponse, err error)
RemovePodSandbox deletes the sandbox. If there are any running containers in the sandbox, they should be force deleted.
func (*Server) ReopenContainerLog ¶ added in v1.10.0
func (s *Server) ReopenContainerLog(ctx context.Context, req *pb.ReopenContainerLogRequest) (resp *pb.ReopenContainerLogResponse, err error)
ReopenContainerLog reopens the containers log file
func (*Server) RunPodSandbox ¶
func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest) (resp *pb.RunPodSandboxResponse, err error)
RunPodSandbox creates and runs a pod-level sandbox.
func (*Server) Shutdown ¶ added in v1.0.0
Shutdown attempts to shut down the server's storage cleanly
func (*Server) StartContainer ¶
func (s *Server) StartContainer(ctx context.Context, req *pb.StartContainerRequest) (resp *pb.StartContainerResponse, err error)
StartContainer starts the container.
func (*Server) StartExitMonitor ¶ added in v1.0.0
func (s *Server) StartExitMonitor()
StartExitMonitor start a routine that monitors container exits and updates the container status
func (*Server) StartHooksMonitor ¶ added in v1.10.0
func (s *Server) StartHooksMonitor()
StartHooksMonitor starts a goroutine to dynamically add hooks at runtime
func (*Server) Status ¶
func (s *Server) Status(ctx context.Context, req *pb.StatusRequest) (resp *pb.StatusResponse, err error)
Status returns the status of the runtime
func (*Server) StopAllPodSandboxes ¶ added in v1.0.0
func (s *Server) StopAllPodSandboxes()
StopAllPodSandboxes removes all pod sandboxes
func (*Server) StopContainer ¶
func (s *Server) StopContainer(ctx context.Context, req *pb.StopContainerRequest) (resp *pb.StopContainerResponse, err error)
StopContainer stops a running container with a grace period (i.e., timeout).
func (*Server) StopMonitors ¶ added in v1.10.0
func (s *Server) StopMonitors()
StopMonitors stops al the monitors
func (*Server) StopPodSandbox ¶
func (s *Server) StopPodSandbox(ctx context.Context, req *pb.StopPodSandboxRequest) (resp *pb.StopPodSandboxResponse, err error)
StopPodSandbox stops the sandbox. If there are any running containers in the sandbox, they should be force terminated.
func (*Server) StopStreamServer ¶ added in v1.0.0
StopStreamServer stops the stream server
func (*Server) StreamingServerCloseChan ¶ added in v1.0.0
func (s *Server) StreamingServerCloseChan() chan struct{}
StreamingServerCloseChan returns the close channel for the streaming server
func (*Server) Update ¶ added in v1.0.0
func (s *Server) Update()
Update makes changes to the server's state (lists of pods and containers) to reflect the list of pods and containers that are stored on disk, possibly having been modified by other parties
func (*Server) UpdateContainerResources ¶ added in v1.8.0
func (s *Server) UpdateContainerResources(ctx context.Context, req *pb.UpdateContainerResourcesRequest) (resp *pb.UpdateContainerResourcesResponse, err error)
UpdateContainerResources updates ContainerConfig of the container.
func (*Server) UpdateRuntimeConfig ¶
func (s *Server) UpdateRuntimeConfig(ctx context.Context, req *pb.UpdateRuntimeConfigRequest) (resp *pb.UpdateRuntimeConfigResponse, err error)
UpdateRuntimeConfig updates the configuration of a running container.
func (*Server) Version ¶
func (s *Server) Version(ctx context.Context, req *pb.VersionRequest) (resp *pb.VersionResponse, err error)
Version returns the runtime name, runtime version and runtime API version
type Sysctl ¶
type Sysctl struct { // Name of a property to set Name string `json:"name"` // Value of a property to set Value string `json:"value"` }
Sysctl defines a kernel parameter to be set
func SysctlsFromPodAnnotation ¶
SysctlsFromPodAnnotation parses an annotation value into a slice of Sysctls.
type VersionPayload ¶ added in v1.10.0
type VersionPayload struct {
Version string `json:"version"`
}
VersionPayload is a helper struct to create the JSON payload to show the version
Source Files ¶
- config.go
- container_attach.go
- container_create.go
- container_exec.go
- container_execsync.go
- container_list.go
- container_portforward.go
- container_remove.go
- container_reopen_log.go
- container_start.go
- container_stats.go
- container_stats_list.go
- container_status.go
- container_stop.go
- container_update_resources.go
- container_updateruntimeconfig.go
- image_fs_info.go
- image_list.go
- image_pull.go
- image_remove.go
- image_status.go
- inspect.go
- naming.go
- runtime_status.go
- sandbox_list.go
- sandbox_network.go
- sandbox_remove.go
- sandbox_run.go
- sandbox_status.go
- sandbox_stop.go
- secrets.go
- server.go
- utils.go
- version.go