From 82b2848eb73b7dfc5d3c93c7085cb5f6de86207a Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Fri, 5 Jan 2024 18:31:13 +0530 Subject: [PATCH] Set default package status to none if deployment exists (#2894) If package has deployment already, we should set package status to none instead of pending. If we have package has source, we set status to pending. If both source and deployment are empty, package marked as failure. Signed-off-by: Sanket Sudake --- pkg/apis/core/v1/package_webhook.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/apis/core/v1/package_webhook.go b/pkg/apis/core/v1/package_webhook.go index 9d82da5d..372697f9 100644 --- a/pkg/apis/core/v1/package_webhook.go +++ b/pkg/apis/core/v1/package_webhook.go @@ -47,7 +47,16 @@ var _ webhook.Defaulter = &Package{} func (r *Package) Default() { packagelog.Debug("default", zap.String("name", r.Name)) if r.Status.BuildStatus == "" { - r.Status.BuildStatus = BuildStatusPending + if !r.Spec.Deployment.IsEmpty() { + // deployment package exists + r.Status.BuildStatus = BuildStatusNone + } else if !r.Spec.Source.IsEmpty() { + // source package with no deployment is a pending build + r.Status.BuildStatus = BuildStatusPending + } else { + r.Status.BuildStatus = BuildStatusFailed // empty package + r.Status.BuildLog = "Both source and deployment are empty" + } } }