divide operators
Some checks failed
Build and Publish / build-release (push) Failing after 26s

This commit is contained in:
2026-04-07 13:41:25 -05:00
parent 66f38d90ee
commit da5d944430
179 changed files with 2996 additions and 10163 deletions

37
pkg/health/health.go Normal file
View File

@@ -0,0 +1,37 @@
package health
import (
"context"
zitadelv1alpha1 "gitea.corredorconect.com/software-engineering/zitadel-k8s-operator/api/v1alpha1"
"gitea.corredorconect.com/software-engineering/zitadel-k8s-operator/pkg/deployment"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
)
type EndpointPolicy string
func IsClusterHealthy(ctx context.Context, client ctrlclient.Client, zitadel *zitadelv1alpha1.Cluster) (bool, error) {
key := ctrlclient.ObjectKeyFromObject(zitadel)
var dep appsv1.Deployment
if err := client.Get(ctx, key, &dep); err != nil {
return false, ctrlclient.IgnoreNotFound(err)
}
if dep.Status.ReadyReplicas != zitadel.Spec.Replicas {
return false, nil
}
var endpoints corev1.Endpoints
if err := client.Get(ctx, key, &endpoints); err != nil {
return false, ctrlclient.IgnoreNotFound(err)
}
for _, subset := range endpoints.Subsets {
for _, port := range subset.Ports {
if port.Port == deployment.ZitadelPort {
return len(subset.Addresses) > 0, nil
}
}
}
return false, nil
}