Skip to content

Commit

Permalink
Merge pull request #1 from uc-cdis/feat/pull_policy
Browse files Browse the repository at this point in the history
feat(pods): add pull policy to containers config
  • Loading branch information
m0nhawk authored Nov 4, 2019
2 parents f8f51c1 + 1edb0d8 commit 57fa68e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ FROM golang:1.12 as build-deps
WORKDIR /hatchery
ENV GOPATH=/hatchery

RUN go get k8s.io/klog && cd $GOPATH/src/k8s.io/klog && git checkout v0.4.0

RUN go get -tags k8s.io/client-go/kubernetes \
k8s.io/apimachinery/pkg/apis/meta/v1 \
k8s.io/api/core/v1 \
Expand Down
1 change: 1 addition & 0 deletions src/handlers/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ type Container struct {
CPULimit string `json:"cpu-limit"`
MemoryLimit string `json:"memory-limit"`
Image string `json:"image"`
PullPolicy string `json:"pull_policy"`
Env map[string]string `json:"env"`
TargetPort int32 `json:"target-port"`
Args []string `json:"args"`
Expand Down
16 changes: 14 additions & 2 deletions src/handlers/pods.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,19 @@ func createK8sPod(hash string, accessToken string, userName string) error {
MountPath: containerSettings.UserVolumeLocation,
Name: "user-data",
})


}

var pullPolicy k8sv1.PullPolicy
switch containerSettings.PullPolicy {
case "IfNotPresent":
pullPolicy = k8sv1.PullPolicy(k8sv1.PullIfNotPresent)
case "Always":
pullPolicy = k8sv1.PullPolicy(k8sv1.PullAlways)
case "Never":
pullPolicy = k8sv1.PullPolicy(k8sv1.PullNever)
default:
pullPolicy = k8sv1.PullPolicy(k8sv1.PullIfNotPresent)
}

pod := &k8sv1.Pod{
Expand All @@ -282,7 +294,7 @@ func createK8sPod(hash string, accessToken string, userName string) error {
SecurityContext: &k8sv1.SecurityContext{
Privileged: &falseVal,
},
ImagePullPolicy: k8sv1.PullPolicy(k8sv1.PullIfNotPresent),
ImagePullPolicy: pullPolicy,
Env: envVars,
Command: containerSettings.Command,
Args: containerSettings.Args,
Expand Down

0 comments on commit 57fa68e

Please sign in to comment.