Made sure SHUFFLE_BASE_IMAGE_REGISTRY is passed for k8s, and that registry/basepath/imagename:version now works
This commit is contained in:
@@ -85,9 +85,8 @@ var appContainerSecurityContext = os.Getenv("SHUFFLE_APP_CONTAINER_SECURITY_CONT
|
||||
// var baseimagename = "docker.pkg.github.com/shuffle/shuffle"
|
||||
// var baseimagename = "ghcr.io/frikky"
|
||||
// var baseimagename = "shuffle/shuffle"
|
||||
var baseimagename = os.Getenv("SHUFFLE_BASE_IMAGE_NAME")
|
||||
var baseimageregistry = os.Getenv("SHUFFLE_BASE_IMAGE_REGISTRY")
|
||||
|
||||
var baseimagename = os.Getenv("SHUFFLE_BASE_IMAGE_NAME")
|
||||
//var baseimagetagsuffix = os.Getenv("SHUFFLE_BASE_IMAGE_TAG_SUFFIX")
|
||||
|
||||
// Used for cloud with auth. Onprem in certain cases too.
|
||||
@@ -1041,6 +1040,10 @@ func deployK8sWorker(image string, identifier string, env []string) error {
|
||||
env = append(env, fmt.Sprintf("KUBERNETES_SERVICE_PORT=%s", os.Getenv("KUBERNETES_SERVICE_PORT")))
|
||||
}
|
||||
|
||||
if len(os.Getenv("SHUFFLE_BASE_IMAGE_REGISTRY")) > 0 {
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_BASE_IMAGE_REGISTRY=%s", os.Getenv("SHUFFLE_BASE_IMAGE_REGISTRY")))
|
||||
}
|
||||
|
||||
if len(os.Getenv("REGISTRY_URL")) > 0 {
|
||||
env = append(env, fmt.Sprintf("REGISTRY_URL=%s", os.Getenv("REGISTRY_URL")))
|
||||
}
|
||||
@@ -1100,8 +1103,13 @@ func deployK8sWorker(image string, identifier string, env []string) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Required format:
|
||||
// url/org/repo/appname:tag
|
||||
// url/org/repo/appname:tag
|
||||
|
||||
//env = append(env, fmt.Sprintf("SHUFFLE_SWARM_CONFIG=%s", swarmConfig))
|
||||
env = append(env, fmt.Sprintf("BASE_URL=%s", baseUrl))
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_SWARM_CONFIG=%s", swarmConfig))
|
||||
env = append(env, fmt.Sprintf("SHUFFLE_SWARM_CONFIG=run")
|
||||
env = append(env, fmt.Sprintf("WORKER_HOSTNAME=%s", "shuffle-workers"))
|
||||
|
||||
if len(kubernetesNamespace) == 0 {
|
||||
@@ -2137,16 +2145,17 @@ func main() {
|
||||
|
||||
if isKubernetes != "true" {
|
||||
deployServiceWorkers(workerImage)
|
||||
|
||||
err := setBackendToSwarmNetwork(ctx)
|
||||
if err != nil {
|
||||
log.Printf("[WARNING] Failed setting backend to swarm network: %s", err)
|
||||
}
|
||||
|
||||
} else {
|
||||
deployK8sWorker(workerImage, "shuffle-workers", []string{})
|
||||
runString = "Run: \"kubectl get pods\" for more info"
|
||||
}
|
||||
|
||||
err := setBackendToSwarmNetwork(ctx)
|
||||
if err != nil {
|
||||
log.Printf("[WARNING] Failed setting backend to swarm network: %s", err)
|
||||
}
|
||||
|
||||
log.Printf("[DEBUG] Waiting 45 seconds to ensure workers are deployed. %s", runString)
|
||||
time.Sleep(time.Duration(45) * time.Second)
|
||||
|
||||
|
||||
@@ -404,6 +404,8 @@ func deployk8sApp(image string, identifier string, env []string) error {
|
||||
kubernetesNamespace = "default"
|
||||
}
|
||||
|
||||
log.Printf("[DEBUG] Deploying k8s app with identifier %s to namespace %s", identifier, kubernetesNamespace)
|
||||
|
||||
deployport, err := strconv.Atoi(os.Getenv("SHUFFLE_APP_EXPOSED_PORT"))
|
||||
if err != nil {
|
||||
deployport = 80
|
||||
@@ -866,6 +868,11 @@ func deployApp(cli *dockerclient.Client, image string, identifier string, env []
|
||||
} else {
|
||||
// ** STARTREMOVE ***/
|
||||
exposedPort = 80
|
||||
deployport, err := strconv.Atoi(os.Getenv("SHUFFLE_APP_EXPOSED_PORT"))
|
||||
if err == nil {
|
||||
exposedPort = deployport
|
||||
}
|
||||
|
||||
err = findAppInfoKubernetes(image, appName, env)
|
||||
if err != nil {
|
||||
log.Printf("[ERROR] Failed finding and creating port for %s: %s", appName, err)
|
||||
@@ -1432,6 +1439,16 @@ func handleExecutionResult(workflowExecution shuffle.WorkflowExecution) {
|
||||
imageName = strings.ReplaceAll(imageName, " ", "-")
|
||||
}
|
||||
|
||||
// Kubernetes specific.
|
||||
// Should it be though?
|
||||
if isKubernetes == "true" {
|
||||
// Map it to:
|
||||
// <registry>/baseimagename/<appname>:<appversion>
|
||||
if len(localRegistry) > 0 && len(os.Getenv("SHUFFLE_BASE_IMAGE_REGISTRY")) > 0 {
|
||||
imageName = fmt.Sprintf("%s/%s/%s:%s", os.Getenv("SHUFFLE_BASE_IMAGE_REGISTRY"), baseimagename, parsedAppname, action.AppVersion)
|
||||
}
|
||||
}
|
||||
|
||||
askOtherWorkersToDownloadImage(imageName)
|
||||
|
||||
// Added UUID to identifier just in case
|
||||
|
||||
Reference in New Issue
Block a user