feat(k8s): allow to mount tmp volume to apps
Signed-off-by: Pascal Sthamer <10992664+P4sca1@users.noreply.github.com>
This commit is contained in:
@@ -1146,6 +1146,10 @@ func deployK8sWorker(image string, identifier string, env []string) error {
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_APP_CONTAINER_SECURITY_CONTEXT=%s", appContainerSecurityContext))
|
||||
}
|
||||
|
||||
if len(os.Getenv("SHUFFLE_APP_MOUNT_TMP_VOLUME")) > 0 {
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_APP_MOUNT_TMP_VOLUME=%s", os.Getenv("SHUFFLE_APP_MOUNT_TMP_VOLUME")))
|
||||
}
|
||||
|
||||
if len(os.Getenv("SHUFFLE_LOGS_DISABLED")) > 0 {
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_LOGS_DISABLED=%s", os.Getenv("SHUFFLE_LOGS_DISABLED")))
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"github.com/shuffle/shuffle-shared"
|
||||
"github.com/shuffle/singul/pkg"
|
||||
singul "github.com/shuffle/singul/pkg"
|
||||
|
||||
"bytes"
|
||||
"context"
|
||||
@@ -664,6 +664,27 @@ func deployk8sApp(image string, identifier string, env []string) error {
|
||||
},
|
||||
}
|
||||
|
||||
if os.Getenv("SHUFFLE_APP_MOUNT_TMP_VOLUME") == "true" {
|
||||
deployment.Spec.Template.Spec.Volumes = append(
|
||||
deployment.Spec.Template.Spec.Volumes,
|
||||
corev1.Volume{
|
||||
Name: "tmp",
|
||||
VolumeSource: corev1.VolumeSource{
|
||||
EmptyDir: &corev1.EmptyDirVolumeSource{},
|
||||
},
|
||||
},
|
||||
)
|
||||
|
||||
deployment.Spec.Template.Spec.Containers[0].VolumeMounts = append(
|
||||
deployment.Spec.Template.Spec.Containers[0].VolumeMounts,
|
||||
corev1.VolumeMount{
|
||||
Name: "tmp",
|
||||
ReadOnly: false,
|
||||
MountPath: "/tmp",
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
if len(os.Getenv("REGISTRY_URL")) > 0 && len(os.Getenv("SHUFFLE_BASE_IMAGE_NAME")) > 0 {
|
||||
log.Printf("[INFO] Setting image pull policy to Always as private registry is used.")
|
||||
//containerAttachment.ImagePullPolicy = corev1.PullAlways
|
||||
@@ -3233,8 +3254,6 @@ func deploySwarmService(dockercli *dockerclient.Client, name, image string, depl
|
||||
log.Printf("[DEBUG] Deploying service for %s to swarm on port %d", name, deployport)
|
||||
//containerName := fmt.Sprintf("shuffle-worker-%s", parsedUuid)
|
||||
|
||||
|
||||
|
||||
// Check if the image exists or not - just in case
|
||||
_, _, err := dockercli.ImageInspectWithRaw(context.Background(), image)
|
||||
if err != nil {
|
||||
@@ -3257,7 +3276,6 @@ func deploySwarmService(dockercli *dockerclient.Client, name, image string, depl
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if len(baseimagename) == 0 || baseimagename == "/" {
|
||||
baseimagename = "frikky/shuffle"
|
||||
//var baseimagename = "frikky/shuffle"
|
||||
@@ -3310,7 +3328,6 @@ func deploySwarmService(dockercli *dockerclient.Client, name, image string, depl
|
||||
nodeCount = 1
|
||||
}
|
||||
|
||||
|
||||
replicatedJobs := uint64(replicas * nodeCount)
|
||||
log.Printf("[DEBUG] Deploying app with name %s with image %s", name, image)
|
||||
|
||||
@@ -3472,7 +3489,6 @@ func findAppInfo(image, name string, redeploy bool) (int, error) {
|
||||
// chance of being successful
|
||||
time.Sleep(time.Duration(rand.Intn(1500)) * time.Millisecond)
|
||||
|
||||
|
||||
highest := baseport
|
||||
exposedPort := -1
|
||||
|
||||
@@ -3695,7 +3711,6 @@ func initSwarmNetwork() error {
|
||||
mtu := 1500
|
||||
options["com.docker.network.driver.mtu"] = fmt.Sprintf("%d", mtu)
|
||||
|
||||
|
||||
ingressOptions := network.CreateOptions{
|
||||
Driver: "overlay",
|
||||
Attachable: false,
|
||||
@@ -3782,8 +3797,6 @@ func initSwarmNetwork() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*** ENDREMOVE ***/
|
||||
|
||||
func sendAppRequest(ctx context.Context, incomingUrl, appName string, port int, action *shuffle.Action, workflowExecution *shuffle.WorkflowExecution, image string, attempts int64) error {
|
||||
|
||||
Reference in New Issue
Block a user