check app deployment in k8s before deploying

This commit is contained in:
yashsinghcodes
2026-01-14 17:51:04 +05:30
parent cbae9f2d63
commit bdf181616a
+17
View File
@@ -413,6 +413,8 @@ func deployk8sApp(image string, identifier string, env []string) error {
kubernetesNamespace = "default"
}
ctx := context.Background()
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 {
@@ -624,6 +626,21 @@ func deployk8sApp(image string, identifier string, env []string) error {
}
}
existing, err := clientset.AppsV1().Deployments(kubernetesNamespace).List(
ctx,
metav1.ListOptions{
LabelSelector: fmt.Sprintf("app: %s", name),
},
)
if err != nil {
log.Printf("[ERROR] Failed listing existing deployments: %v", err)
}
if len(existing.Items) > 0 {
log.Printf("[INFO] Found existing deployments, skipping creation")
return errors.New("Found existing deployment")
}
replicaNumberInt32 := int32(replicaNumber)
// apps do not need access the k8s api.
automountServiceAccountToken := false