diff --git a/internal/controller/servermanager_controller.go b/internal/controller/servermanager_controller.go index 89b0f62..8e26da0 100644 --- a/internal/controller/servermanager_controller.go +++ b/internal/controller/servermanager_controller.go @@ -157,6 +157,11 @@ func (r *ServerManagerReconciler) Reconcile(ctx context.Context, req ctrl.Reques logging.Error(err, "Failed to get image") return reconcile.Result{}, err } + if len(s.Spec.Server.Ports) == 0 { + s.Spec.Server.Ports = image.Spec.Ports + err := r.Update(ctx, s) + return reconcile.Result{}, err + } serverPod := r.ServerPod(s, pvc, image) found := &corev1.Pod{} @@ -635,9 +640,6 @@ func (r *ServerManagerReconciler) ServerPvc(s *servermanagerv1alpha1.ServerManag func (r *ServerManagerReconciler) ServerPod(s *servermanagerv1alpha1.ServerManager, pvc *corev1.PersistentVolumeClaim, image *servermanagerv1alpha1.Image) *corev1.Pod { serverPorts := image.Spec.Ports - if len(s.Spec.Server.Ports) > 0 { - serverPorts = s.Spec.Server.Ports - } ports := make([]corev1.ContainerPort, len(serverPorts))