diff --git a/manifests/base/crds/full/argoproj.io_cronworkflows.yaml b/manifests/base/crds/full/argoproj.io_cronworkflows.yaml index a6edc5e83250..1838c56d7bbc 100644 --- a/manifests/base/crds/full/argoproj.io_cronworkflows.yaml +++ b/manifests/base/crds/full/argoproj.io_cronworkflows.yaml @@ -57,7 +57,7 @@ spec: description: 'v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format' items: - pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$ + pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$ type: string minItems: 1 type: array diff --git a/manifests/quick-start-minimal.yaml b/manifests/quick-start-minimal.yaml index 13099668519c..19bd46c0d4a6 100644 --- a/manifests/quick-start-minimal.yaml +++ b/manifests/quick-start-minimal.yaml @@ -40732,7 +40732,7 @@ spec: description: 'v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format' items: - pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$ + pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$ type: string minItems: 1 type: array diff --git a/manifests/quick-start-mysql.yaml b/manifests/quick-start-mysql.yaml index 443efae033a2..b81cd3cca547 100644 --- a/manifests/quick-start-mysql.yaml +++ b/manifests/quick-start-mysql.yaml @@ -40732,7 +40732,7 @@ spec: description: 'v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format' items: - pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$ + pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$ type: string minItems: 1 type: array diff --git a/manifests/quick-start-postgres.yaml b/manifests/quick-start-postgres.yaml index b67bea19cc06..ef5d8eb58dc6 100644 --- a/manifests/quick-start-postgres.yaml +++ b/manifests/quick-start-postgres.yaml @@ -40732,7 +40732,7 @@ spec: description: 'v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format' items: - pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$ + pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$ type: string minItems: 1 type: array diff --git a/manifests/quick-start-telemetry.yaml b/manifests/quick-start-telemetry.yaml index 49ac2eae054c..37cd20bb5bfa 100644 --- a/manifests/quick-start-telemetry.yaml +++ b/manifests/quick-start-telemetry.yaml @@ -40732,7 +40732,7 @@ spec: description: 'v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format' items: - pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$ + pattern: ^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$ type: string minItems: 1 type: array diff --git a/pkg/apis/workflow/v1alpha1/cron_workflow_types.go b/pkg/apis/workflow/v1alpha1/cron_workflow_types.go index 9793c84a23e9..141fe92548b6 100644 --- a/pkg/apis/workflow/v1alpha1/cron_workflow_types.go +++ b/pkg/apis/workflow/v1alpha1/cron_workflow_types.go @@ -66,7 +66,7 @@ type CronWorkflowSpec struct { StopStrategy *StopStrategy `json:"stopStrategy,omitempty" protobuf:"bytes,10,opt,name=stopStrategy"` // v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:items:Pattern=`^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$` + // +kubebuilder:validation:items:Pattern=`^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$` Schedules []string `json:"schedules" protobuf:"bytes,11,opt,name=schedules"` // v3.6 and after: When is an expression that determines if a run should be scheduled. When string `json:"when,omitempty" protobuf:"bytes,12,opt,name=when"` diff --git a/pkg/apis/workflow/v1alpha1/generated.proto b/pkg/apis/workflow/v1alpha1/generated.proto index 5afe990b7315..eb5480dd1d59 100644 --- a/pkg/apis/workflow/v1alpha1/generated.proto +++ b/pkg/apis/workflow/v1alpha1/generated.proto @@ -524,7 +524,7 @@ message CronWorkflowSpec { // v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:items:Pattern=`^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([0-9*,/?-]+\s+){4}[0-9*,/?-]+)$` + // +kubebuilder:validation:items:Pattern=`^(@(yearly|annually|monthly|weekly|daily|midnight|hourly)|@every\s+([0-9]+(ns|us|µs|ms|s|m|h))+|([A-Za-z0-9*,/?-]+\s+){4}[A-Za-z0-9*,/?-]+)$` repeated string schedules = 11; // v3.6 and after: When is an expression that determines if a run should be scheduled.