goharbor/harbor · error · errors.Error

BAD_REQUEST

BAD_REQUEST

Error message

invalid cron string for scheduled log rotation purge: %s, error: %v

What it means

Error "invalid cron string for scheduled log rotation purge: %s, error: %v" thrown in goharbor/harbor.

Source

Thrown at src/server/v2.0/handler/purge.go:145

		return 0, err
	}
	policy.RetentionHour = retHour

	switch scheType {
	case ScheduleManual:
		id, err = p.purgeCtr.Start(ctx, policy, taskPkg.ExecutionTriggerManual)
	case ScheduleNone:
		// delete the schedule of purge
		err = p.schedulerCtl.Delete(ctx, vendorType)
	case ScheduleHourly, ScheduleDaily, ScheduleWeekly, ScheduleCustom:
		err = p.updateSchedule(ctx, vendorType, scheType, cron, policy, parameters)
	}
	return id, err
}

func (p *purgeAPI) updateSchedule(ctx context.Context, vendorType, cronType, cron string, policy pg.JobPolicy, extraParams map[string]any) error {
	if err := utils.ValidateCronString(cron); err != nil {
		return errors.New(nil).WithCode(errors.BadRequestCode).
			WithMessagef("invalid cron string for scheduled log rotation purge: %s, error: %v", cron, err)
	}
	if err := p.schedulerCtl.Delete(ctx, vendorType); err != nil {
		return err
	}
	return p.createSchedule(ctx, vendorType, cronType, cron, policy, extraParams)
}

func (p *purgeAPI) GetPurgeHistory(ctx context.Context, params purge.GetPurgeHistoryParams) middleware.Responder {
	if err := p.RequireSystemAccess(ctx, rbac.ActionList, rbac.ResourcePurgeAuditLog); err != nil {
		return p.SendError(ctx, err)
	}
	query, err := p.BuildQuery(ctx, params.Q, params.Sort, params.Page, params.PageSize)
	query.Keywords["VendorType"] = job.PurgeAuditVendorType
	if err != nil {
		return p.SendError(ctx, err)
	}
	total, err := p.executionCtl.Count(ctx, query)

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/v2.0/handler/purge.go:145 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/46673c9daa461d00. Report an issue: GitHub.