modifyContainerConfig applies container security context config to dockercontainer.Config.
( sc *runtimeapi.LinuxContainerSecurityContext, config *dockercontainer.Config, )
| 97 | |
| 98 | // modifyContainerConfig applies container security context config to dockercontainer.Config. |
| 99 | func modifyContainerConfig( |
| 100 | sc *runtimeapi.LinuxContainerSecurityContext, |
| 101 | config *dockercontainer.Config, |
| 102 | ) error { |
| 103 | if sc == nil { |
| 104 | return nil |
| 105 | } |
| 106 | if sc.RunAsUser != nil { |
| 107 | config.User = strconv.FormatInt(sc.GetRunAsUser().Value, 10) |
| 108 | } |
| 109 | if sc.RunAsUsername != "" { |
| 110 | config.User = sc.RunAsUsername |
| 111 | } |
| 112 | |
| 113 | user := config.User |
| 114 | if sc.RunAsGroup != nil { |
| 115 | if user == "" { |
| 116 | return fmt.Errorf("runAsGroup is specified without a runAsUser") |
| 117 | } |
| 118 | user = fmt.Sprintf("%s:%d", config.User, sc.GetRunAsGroup().Value) |
| 119 | } |
| 120 | |
| 121 | config.User = user |
| 122 | |
| 123 | return nil |
| 124 | } |
| 125 | |
| 126 | // modifyHostConfig applies security context config to dockercontainer.HostConfig. |
| 127 | func modifyHostConfig( |
no outgoing calls
searching dependent graphs…