github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/container/runtime.go (about)

     1  package container
     2  
     3  import "strings"
     4  
     5  // A good way to manually test different container runtimes is with minikube.
     6  // https://github.com/kubernetes/minikube/blob/master/docs/alternative_runtimes.md
     7  type Runtime string
     8  
     9  const (
    10  	RuntimeDocker      Runtime = "docker"
    11  	RuntimeContainerd  Runtime = "containerd"
    12  	RuntimeCrio        Runtime = "cri-o"
    13  	RuntimeUnknown     Runtime = "unknown"
    14  	RuntimeReadFailure Runtime = "read-failure"
    15  )
    16  
    17  func RuntimeFromVersionString(s string) Runtime {
    18  	parts := strings.Split(s, ":")
    19  	switch Runtime(parts[0]) {
    20  	case RuntimeDocker:
    21  		return RuntimeDocker
    22  	case RuntimeContainerd:
    23  		return RuntimeContainerd
    24  	case RuntimeCrio:
    25  		return RuntimeCrio
    26  	}
    27  	return RuntimeUnknown
    28  }