Skip to content

Commit

Permalink
Merge 4b0f542 into af1f855
Browse files Browse the repository at this point in the history
  • Loading branch information
VaibhavPage committed Mar 15, 2019
2 parents af1f855 + 4b0f542 commit 42bb876
Show file tree
Hide file tree
Showing 54 changed files with 1,746 additions and 2,369 deletions.
1 change: 1 addition & 0 deletions OWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ approvers:
- shrinandj
- VaibhavPage
- vicaire
- dtaniwaki
2 changes: 1 addition & 1 deletion controllers/sensor/operator.go
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ func (soc *sOperationCtx) initializeAllNodes() {

// Initialize all trigger nodes
for _, trigger := range soc.s.Spec.Triggers {
InitializeNode(soc.s, trigger.Name, v1alpha1.NodeTypeTrigger, &soc.log)
InitializeNode(soc.s, trigger.Template.Name, v1alpha1.NodeTypeTrigger, &soc.log)
}
}

Expand Down
36 changes: 18 additions & 18 deletions controllers/sensor/operator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
)

var sensorStr = `
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
Expand All @@ -49,29 +50,28 @@ spec:
http:
port: "9300"
triggers:
- name: artifact-workflow-trigger
resource:
namespace: argo-events
- template:
name: artifact-workflow-trigger
group: argoproj.io
version: v1alpha1
kind: Workflow
source:
inline: |
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
spec:
entrypoint: whalesay
templates:
-
container:
args:
- "hello world"
command:
- cowsay
image: "docker/whalesay:latest"
name: whalesay
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
spec:
entrypoint: whalesay
templates:
-
container:
args:
- "hello world"
command:
- cowsay
image: "docker/whalesay:latest"
name: whalesay
`

var (
Expand Down
15 changes: 11 additions & 4 deletions controllers/sensor/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,21 @@ func validateTriggers(triggers []v1alpha1.Trigger) error {
}

for _, trigger := range triggers {
if trigger.Name == "" {
if trigger.Template == nil {
return fmt.Errorf("trigger template can't be nil")
}

if trigger.Template.Name == "" {
return fmt.Errorf("trigger must define a name")
}
// each trigger must have a message or a resource
if trigger.Resource == nil {
return fmt.Errorf("trigger '%s' does not contain an absolute action", trigger.Name)
if trigger.Template.Source == nil {
return fmt.Errorf("trigger '%s' does not contain an absolute action", trigger.Template.Name)
}
if trigger.Template.GroupVersionKind == nil {
return fmt.Errorf("must provide group, version and kind for the resource")
}
if trigger.When != nil && trigger.When.All != nil && trigger.When.Any != nil {
if trigger.Template.When != nil && trigger.Template.When.All != nil && trigger.Template.When.Any != nil {
return fmt.Errorf("trigger condition can't have both any and all condition")
}
}
Expand Down
13 changes: 6 additions & 7 deletions examples/sensors/amqp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,11 @@ spec:
dependencies:
- name: "amqp-gateway:foo"
triggers:
- name: amqp-workflow-trigger
resource:
namespace: argo-events
- template:
name: amqp-workflow-trigger
group: argoproj.io
version: v1alpha1
kind: Workflow
parameters:
- src:
event: "amqp-gateway:foo"
dest: spec.arguments.parameters.0.value
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -51,3 +46,7 @@ spec:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
resourceParameters:
- src:
event: "amqp-gateway:foo"
dest: spec.arguments.parameters.0.value
17 changes: 8 additions & 9 deletions examples/sensors/artifact-with-param-nats-standard.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,11 @@ spec:
dependencies:
- name: "artifact-gateway-nats-standard:input"
triggers:
- name: argo-workflow
resource:
namespace: argo-events
- template:
name: argo-workflow
group: argoproj.io
version: v1alpha1
kind: Workflow
# The container args from the workflow are overridden by the s3 notification key
parameters:
- src:
event: "artifact-gateway-nats-standard:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -46,3 +39,9 @@ spec:
command:
- cowsay
image: "docker/whalesay:latest"
# The container args from the workflow are overridden by the s3 notification key
resourceParameters:
- src:
event: "artifact-gateway-nats-standard:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
17 changes: 8 additions & 9 deletions examples/sensors/artifact-with-param-nats-streaming.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,11 @@ spec:
dependencies:
- name: "artifact-gateway-nats-streaming:input"
triggers:
- name: argo-workflow
resource:
namespace: argo-events
- template:
name: argo-workflow
group: argoproj.io
version: v1alpha1
kind: Workflow
# The container args from the workflow are overridden by the s3 notification key
parameters:
- src:
event: "artifact-gateway-nats-streaming:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -48,3 +41,9 @@ spec:
command:
- cowsay
image: "docker/whalesay:latest"
# The container args from the workflow are overridden by the s3 notification key
resourceParameters:
- src:
event: "artifact-gateway-nats-streaming:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
50 changes: 10 additions & 40 deletions examples/sensors/artifact.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,49 +19,11 @@ spec:
dependencies:
- name: "artifact-gateway:input"
triggers:
- name: artifact-workflow-trigger
resource:
namespace: argo-events
- template:
name: artifact-workflow-trigger-2
group: argoproj.io
version: v1alpha1
kind: Workflow
parameters:
- src:
event: "artifact-gateway:input"
dest: spec.arguments.parameters.0.value
source:
inline: |
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: artifact-workflow-1-
spec:
entrypoint: whalesay
arguments:
parameters:
- name: message
value: hello world
templates:
- name: whalesay
inputs:
parameters:
- name: message
container:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
- name: artifact-workflow-trigger-2
resource:
namespace: argo-events
group: argoproj.io
version: v1alpha1
kind: Workflow
# The container args from the workflow are overridden by the s3 notification key
parameters:
- src:
event: "artifact-gateway:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -76,3 +38,11 @@ spec:
command:
- cowsay
image: "docker/whalesay:latest"
args:
- THIS_WILL_BE_REPLACED
# The container args from the workflow are overridden by the s3 notification key
resourceParameters:
- src:
event: "artifact-gateway:input"
path: s3.object.key
dest: spec.templates.0.container.args.0
13 changes: 6 additions & 7 deletions examples/sensors/aws-sns.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,11 @@ spec:
dependencies:
- name: "aws-sns-gateway:notification_1"
triggers:
- name: sns-workflow
resource:
namespace: argo-events
- template:
name: sns-workflow
group: argoproj.io
version: v1alpha1
kind: Workflow
parameters:
- src:
event: "aws-sns-gateway:notification_1"
dest: spec.arguments.parameters.0.value
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -51,3 +46,7 @@ spec:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
resourceParameters:
- src:
event: "aws-sns-gateway:notification_1"
dest: spec.arguments.parameters.0.value
13 changes: 6 additions & 7 deletions examples/sensors/aws-sqs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,11 @@ spec:
dependencies:
- name: "aws-sqs-gateway:notification_1"
triggers:
- name: sqs-workflow
resource:
namespace: argo-events
- template:
name: sqs-workflow
group: argoproj.io
version: v1alpha1
kind: Workflow
parameters:
- src:
event: "aws-sqs-gateway:notification_1"
dest: spec.arguments.parameters.0.value
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -51,3 +46,7 @@ spec:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
resourceParameters:
- src:
event: "aws-sqs-gateway:notification_1"
dest: spec.arguments.parameters.0.value
13 changes: 6 additions & 7 deletions examples/sensors/calendar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,11 @@ spec:
http:
port: "9300"
triggers:
- name: calendar-workflow-trigger
resource:
namespace: argo-events
- template:
name: calendar-workflow-trigger
group: argoproj.io
version: v1alpha1
kind: Workflow
parameters:
- src:
event: "calendar-gateway:interval"
dest: spec.arguments.parameters.0.value
source:
inline: |
apiVersion: argoproj.io/v1alpha1
Expand All @@ -51,3 +46,7 @@ spec:
image: docker/whalesay:latest
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
resourceParameters:
- src:
event: "calendar-gateway:interval"
dest: spec.arguments.parameters.0.value
Loading

0 comments on commit 42bb876

Please sign in to comment.