fix(controller): ждать S3Key перед startJobBuild — provider загружает код после создания CRD
This commit is contained in:
@@ -112,6 +112,14 @@ func (r *FunctionJobReconciler) Reconcile(ctx context.Context, req ctrl.Request)
|
|||||||
// startJobBuild запускает kaniko сборку образа и переводит FunctionJob в фазу Building.
|
// startJobBuild запускает kaniko сборку образа и переводит FunctionJob в фазу Building.
|
||||||
func (r *FunctionJobReconciler) startJobBuild(ctx context.Context, fj *slessv1alpha1.FunctionJob) (ctrl.Result, error) {
|
func (r *FunctionJobReconciler) startJobBuild(ctx context.Context, fj *slessv1alpha1.FunctionJob) (ctrl.Result, error) {
|
||||||
logger := log.FromContext(ctx)
|
logger := log.FromContext(ctx)
|
||||||
|
|
||||||
|
// S3Key пустой — код ещё не загружен (provider делает upload после создания CRD).
|
||||||
|
// Ждём: через 5 секунд provider успеет выполнить UploadJobCode → S3Key заполнится.
|
||||||
|
if fj.Spec.S3Key == "" {
|
||||||
|
logger.Info("s3key empty, waiting for code upload", "job", fj.Name)
|
||||||
|
return ctrl.Result{RequeueAfter: 5 * time.Second}, nil
|
||||||
|
}
|
||||||
|
|
||||||
buildJobName, err := r.Builder.Build(ctx, r.OperatorNamespace, fj.Name, fj.Spec.S3Key)
|
buildJobName, err := r.Builder.Build(ctx, r.OperatorNamespace, fj.Name, fj.Spec.S3Key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fj.Status.Phase = slessv1alpha1.FunctionJobPhaseFailed
|
fj.Status.Phase = slessv1alpha1.FunctionJobPhaseFailed
|
||||||
|
|||||||
Reference in New Issue
Block a user