From abc0a1586bc8aec357cabeb593e5ad4236f67cf7 Mon Sep 17 00:00:00 2001 From: hsong-rh Date: Mon, 10 Apr 2023 10:02:23 -0400 Subject: [PATCH 001/220] Add rulebook with same rule names --- rulebooks/same_rule_names1.yml | 13 +++++++++++++ rulebooks/same_rule_names2.yml | 18 ++++++++++++++++++ rulebooks/same_rule_names3.yml | 17 +++++++++++++++++ rulebooks/same_rule_names4.yml | 16 ++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 rulebooks/same_rule_names1.yml create mode 100644 rulebooks/same_rule_names2.yml create mode 100644 rulebooks/same_rule_names3.yml create mode 100644 rulebooks/same_rule_names4.yml diff --git a/rulebooks/same_rule_names1.yml b/rulebooks/same_rule_names1.yml new file mode 100644 index 0000000..796f93e --- /dev/null +++ b/rulebooks/same_rule_names1.yml @@ -0,0 +1,13 @@ +--- +- name: ruleset1 + hosts: all + sources: + - name: sourceA + ansible.eda.range: + limit: 6 + delay: 5 + rules: + - name: rule1 + condition: event.i == 2 + action: + debug: diff --git a/rulebooks/same_rule_names2.yml b/rulebooks/same_rule_names2.yml new file mode 100644 index 0000000..42291c8 --- /dev/null +++ b/rulebooks/same_rule_names2.yml @@ -0,0 +1,18 @@ +--- +- name: ruleset1 + hosts: all + sources: + - name: sourceA + ansible.eda.range: + limit: 6 + delay: 5 + rules: + - name: rule1 + condition: event.i == 1 + action: + run_job_template: + name: Hello World + organization: Default + job_args: + extra_vars: + hello: Fred diff --git a/rulebooks/same_rule_names3.yml b/rulebooks/same_rule_names3.yml new file mode 100644 index 0000000..814ed72 --- /dev/null +++ b/rulebooks/same_rule_names3.yml @@ -0,0 +1,17 @@ +--- +- name: ruleset1 + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 6 + rules: + - name: rule1 + condition: event.i == 1 + action: + run_job_template: + name: Hello, New World + organization: Default + job_args: + extra_vars: + hello: Fred diff --git a/rulebooks/same_rule_names4.yml b/rulebooks/same_rule_names4.yml new file mode 100644 index 0000000..5b4906e --- /dev/null +++ b/rulebooks/same_rule_names4.yml @@ -0,0 +1,16 @@ +--- +- name: ruleset1 + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 6 + rules: + - name: rule1 + condition: event.i == 1 + action: + debug: + - name: rule1 + condition: event.i == 2 + action: + debug: From 6cfa9c08fcc34b1ec627b5b49acce03a8beeccbd Mon Sep 17 00:00:00 2001 From: Hui Song Date: Mon, 10 Apr 2023 11:14:09 -0400 Subject: [PATCH 002/220] Delete same_rule_names4.yml --- rulebooks/same_rule_names4.yml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 rulebooks/same_rule_names4.yml diff --git a/rulebooks/same_rule_names4.yml b/rulebooks/same_rule_names4.yml deleted file mode 100644 index 5b4906e..0000000 --- a/rulebooks/same_rule_names4.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: ruleset1 - hosts: all - sources: - - name: my test source - ansible.eda.range: - limit: 6 - rules: - - name: rule1 - condition: event.i == 1 - action: - debug: - - name: rule1 - condition: event.i == 2 - action: - debug: From 750f5d7b859c4fde775b55e10be64abcaf6dae8f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 10 Apr 2023 14:33:09 -0400 Subject: [PATCH 003/220] fixed rule names --- rulebooks/multiple_conditions_job_template.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rulebooks/multiple_conditions_job_template.yml b/rulebooks/multiple_conditions_job_template.yml index 72234b5..514740e 100644 --- a/rulebooks/multiple_conditions_job_template.yml +++ b/rulebooks/multiple_conditions_job_template.yml @@ -1,12 +1,12 @@ --- -- name: Test run job templates +- name: Simple rulebook hosts: all sources: - name: my test source ansible.eda.range: limit: 10 rules: - - name: Run job template + - name: Multiple actions rule condition: event.i == 1 actions: - run_job_template: @@ -21,11 +21,11 @@ - debug message 2 - print_event: pretty: true - - name: Debug + - name: rule1 condition: event.i == 2 action: debug: - - name: print_event + - name: rule2 condition: all: - event.i == 3 @@ -33,13 +33,13 @@ action: print_event: pretty: true - - name: set_fact + - name: rule3 condition: event.i == 4 action: set_fact: fact: name: fred - - name: retract_fact + - name: rule4 condition: event.message == "Hello, world!" action: retract_fact: From c99d22d8ff993fe241067df509fc505114416399 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 10 Apr 2023 15:09:08 -0400 Subject: [PATCH 004/220] added delay --- rulebooks/multiple_conditions_job_template.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/multiple_conditions_job_template.yml b/rulebooks/multiple_conditions_job_template.yml index 514740e..b75fcad 100644 --- a/rulebooks/multiple_conditions_job_template.yml +++ b/rulebooks/multiple_conditions_job_template.yml @@ -5,6 +5,7 @@ - name: my test source ansible.eda.range: limit: 10 + delay: 3 rules: - name: Multiple actions rule condition: event.i == 1 From c19cc96a6015a91b670afbf57f035439b8b7e60f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 12 Apr 2023 14:49:13 -0400 Subject: [PATCH 005/220] Added single rule --- rulebooks/single_rule.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rulebooks/single_rule.yml diff --git a/rulebooks/single_rule.yml b/rulebooks/single_rule.yml new file mode 100644 index 0000000..35e75bc --- /dev/null +++ b/rulebooks/single_rule.yml @@ -0,0 +1,24 @@ +--- +- name: Test run job templates + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 10 + delay: 30 + rules: + - name: myrule1 + condition: event.i > 0 + actions: + - run_job_template: + name: Hello World + organization: Default + job_args: + extra_vars: + hello: Fred + - run_job_template: + name: Hello, New World + organization: Default + job_args: + extra_vars: + hello: Fred From 2ca2e067ddf33941d4a6ad3f27a3a174f5e1e34b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 12 Apr 2023 18:25:01 -0400 Subject: [PATCH 006/220] call fail --- rulebooks/single_rule.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/single_rule.yml b/rulebooks/single_rule.yml index 35e75bc..03afe94 100644 --- a/rulebooks/single_rule.yml +++ b/rulebooks/single_rule.yml @@ -17,7 +17,7 @@ extra_vars: hello: Fred - run_job_template: - name: Hello, New World + name: Fail organization: Default job_args: extra_vars: From d15b6940331d60f0a8afa52ec98d023a5610ee3a Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 18 Apr 2023 15:36:37 -0400 Subject: [PATCH 007/220] pipe ruleset --- rulebooks/rule_with_pipe.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/rule_with_pipe.yml diff --git a/rulebooks/rule_with_pipe.yml b/rulebooks/rule_with_pipe.yml new file mode 100644 index 0000000..07ed1e7 --- /dev/null +++ b/rulebooks/rule_with_pipe.yml @@ -0,0 +1,17 @@ +--- +- name: Job Template with Pipe Charachter + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 2 + rules: + - name: myrule1 + condition: event.i > 0 + actions: + - run_job_template: + name: Storage Monitor | Remediate + organization: Default + job_args: + extra_vars: + hello: Fred From fd9ae74b9ebd84522c9a1a0c635857122869ac2e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 18 Apr 2023 15:42:54 -0400 Subject: [PATCH 008/220] Add extra chars --- rulebooks/rule_with_pipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/rule_with_pipe.yml b/rulebooks/rule_with_pipe.yml index 07ed1e7..2d499ec 100644 --- a/rulebooks/rule_with_pipe.yml +++ b/rulebooks/rule_with_pipe.yml @@ -10,7 +10,7 @@ condition: event.i > 0 actions: - run_job_template: - name: Storage Monitor | Remediate + name: Storage+Monitor | Reme/diate organization: Default job_args: extra_vars: From be84cc15485ade01bdb8cedd6e6b666873851bc8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 25 Apr 2023 17:32:55 -0400 Subject: [PATCH 009/220] Base controller --- rulebooks/basic_job_template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/basic_job_template.yml b/rulebooks/basic_job_template.yml index 9206e9e..113da01 100644 --- a/rulebooks/basic_job_template.yml +++ b/rulebooks/basic_job_template.yml @@ -10,7 +10,7 @@ condition: event.i == 1 action: run_job_template: - name: Hello World + name: Demo Job Template organization: Default job_args: extra_vars: From 932abd4ff2da53b4d98cea0c63396ecf72c80f48 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 26 Apr 2023 12:56:29 -0400 Subject: [PATCH 010/220] print events --- rulebooks/print_rulebook_events.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/print_rulebook_events.yml diff --git a/rulebooks/print_rulebook_events.yml b/rulebooks/print_rulebook_events.yml new file mode 100644 index 0000000..8167abb --- /dev/null +++ b/rulebooks/print_rulebook_events.yml @@ -0,0 +1,17 @@ +--- +- name: Print Events in job templates + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 6 + rules: + - name: Run job template + condition: event.i == 1 + action: + run_job_template: + name: PrintEvent + organization: Default + job_args: + extra_vars: + hello: Fred From 1ba29101c1eda40fe624c705165656339174f1ef Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 26 Apr 2023 19:44:15 -0400 Subject: [PATCH 011/220] missing source --- rulebooks/missing_source.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/missing_source.yml diff --git a/rulebooks/missing_source.yml b/rulebooks/missing_source.yml new file mode 100644 index 0000000..2eb6b4a --- /dev/null +++ b/rulebooks/missing_source.yml @@ -0,0 +1,17 @@ +--- +- name: Missing Source + hosts: all + sources: + - name: my test source + ansible.eda.missing: + limit: 5 + rules: + - name: "Run job template" + condition: event.i == 1 + action: + run_job_template: + name: Fail + organization: Default + job_args: + extra_vars: + hello: Fred From 792960e1621c0129dd16bd7cee38701931a60c35 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 9 May 2023 15:59:26 -0400 Subject: [PATCH 012/220] single rule --- rulebooks/single_rule.yml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/rulebooks/single_rule.yml b/rulebooks/single_rule.yml index 03afe94..21f471d 100644 --- a/rulebooks/single_rule.yml +++ b/rulebooks/single_rule.yml @@ -1,24 +1,14 @@ --- -- name: Test run job templates +- name: Test rule firing hosts: all sources: - name: my test source ansible.eda.range: limit: 10 - delay: 30 rules: - name: myrule1 condition: event.i > 0 actions: - - run_job_template: - name: Hello World - organization: Default - job_args: - extra_vars: - hello: Fred - - run_job_template: - name: Fail - organization: Default - job_args: - extra_vars: - hello: Fred + - debug: + msg: Simple debug message + - print_event: From 7ef24198aeaf4ce3188d704335950e5b832f274c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 10 May 2023 10:36:37 -0400 Subject: [PATCH 013/220] million events --- million_events.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 million_events.yml diff --git a/million_events.yml b/million_events.yml new file mode 100644 index 0000000..582c5af --- /dev/null +++ b/million_events.yml @@ -0,0 +1,12 @@ +--- +- name: "Create 100 milliom events" + hosts: all + sources: + - name: range + ansible.eda.range: + limit: 100000000 + rules: + - name: Rule + condition: event.i is defined + action: + none: From 99e28a6aed9f4aa70de781c62e7cf316792dcd04 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 10 May 2023 10:41:05 -0400 Subject: [PATCH 014/220] Moved to rulebooks --- million_events.yml => rulebooks/million_events.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename million_events.yml => rulebooks/million_events.yml (100%) diff --git a/million_events.yml b/rulebooks/million_events.yml similarity index 100% rename from million_events.yml rename to rulebooks/million_events.yml From 310a505a3c79b1a8bbd47c36fbb88cc20730cbc8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 10 May 2023 17:13:13 -0400 Subject: [PATCH 015/220] more rulebooks --- rulebooks/100_million_events.yml | 12 ++++++++++++ rulebooks/10_million_events.yml | 12 ++++++++++++ rulebooks/million_events.yml | 4 ++-- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 rulebooks/100_million_events.yml create mode 100644 rulebooks/10_million_events.yml diff --git a/rulebooks/100_million_events.yml b/rulebooks/100_million_events.yml new file mode 100644 index 0000000..582c5af --- /dev/null +++ b/rulebooks/100_million_events.yml @@ -0,0 +1,12 @@ +--- +- name: "Create 100 milliom events" + hosts: all + sources: + - name: range + ansible.eda.range: + limit: 100000000 + rules: + - name: Rule + condition: event.i is defined + action: + none: diff --git a/rulebooks/10_million_events.yml b/rulebooks/10_million_events.yml new file mode 100644 index 0000000..4fffa53 --- /dev/null +++ b/rulebooks/10_million_events.yml @@ -0,0 +1,12 @@ +--- +- name: "Create 10 milliom events" + hosts: all + sources: + - name: range + ansible.eda.range: + limit: 10000000 + rules: + - name: Rule + condition: event.i is defined + action: + none: diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index 582c5af..e2aca33 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -1,10 +1,10 @@ --- -- name: "Create 100 milliom events" +- name: "Create 1 milliom events" hosts: all sources: - name: range ansible.eda.range: - limit: 100000000 + limit: 1000000 rules: - name: Rule condition: event.i is defined From 2e3e9ae8f23eeb4d20525a48e169b8555947fef8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 11 May 2023 11:25:34 -0400 Subject: [PATCH 016/220] delayed --- rulebooks/single_rule.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/single_rule.yml b/rulebooks/single_rule.yml index 21f471d..025657c 100644 --- a/rulebooks/single_rule.yml +++ b/rulebooks/single_rule.yml @@ -5,6 +5,7 @@ - name: my test source ansible.eda.range: limit: 10 + delay: 20 rules: - name: myrule1 condition: event.i > 0 From ccdf52b12c0c295ab094b3dd2801f841de5354cb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 24 May 2023 11:45:47 -0400 Subject: [PATCH 017/220] Run job template 100 times --- rulebooks/46_job_template.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/46_job_template.yml diff --git a/rulebooks/46_job_template.yml b/rulebooks/46_job_template.yml new file mode 100644 index 0000000..9b123b8 --- /dev/null +++ b/rulebooks/46_job_template.yml @@ -0,0 +1,18 @@ +--- +- name: Test run job templates + hosts: all + sources: + - ansible.eda.range: + limit: 100 + rules: + - name: "Run job template" + condition: event.i >= 0 + action: + run_job_template: + name: Demo Job Template + organization: Default + job_args: + extra_vars: + hello: Fred + retries: 1 + delay: 10 From a82f0dc80b5f09be975ac446cfa3cb8d8e87ab77 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 24 May 2023 20:30:28 -0400 Subject: [PATCH 018/220] 10 job template --- rulebooks/10_job_template.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/10_job_template.yml diff --git a/rulebooks/10_job_template.yml b/rulebooks/10_job_template.yml new file mode 100644 index 0000000..b117e0e --- /dev/null +++ b/rulebooks/10_job_template.yml @@ -0,0 +1,18 @@ +--- +- name: Test run job templates + hosts: all + sources: + - ansible.eda.range: + limit: 10 + rules: + - name: "1 job template" + condition: event.i >= 0 + action: + run_job_template: + name: Demo Job Template + organization: Default + job_args: + extra_vars: + hello: Fred + retries: 1 + delay: 10 From 04a5285399d6f942b195fd8f986a3dfb2a63fba2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 8 Jun 2023 14:46:43 -0400 Subject: [PATCH 019/220] added delay --- rulebooks/46_job_template.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rulebooks/46_job_template.yml b/rulebooks/46_job_template.yml index 9b123b8..c39797c 100644 --- a/rulebooks/46_job_template.yml +++ b/rulebooks/46_job_template.yml @@ -3,7 +3,8 @@ hosts: all sources: - ansible.eda.range: - limit: 100 + limit: 10 + delay: 30 rules: - name: "Run job template" condition: event.i >= 0 From f3cba73ec2c227120169700a4098318e7e864912 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 3 Aug 2023 12:53:28 -0400 Subject: [PATCH 020/220] added new rulebook --- rulebooks/multiple_rules_with_sleep.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/multiple_rules_with_sleep.yml diff --git a/rulebooks/multiple_rules_with_sleep.yml b/rulebooks/multiple_rules_with_sleep.yml new file mode 100644 index 0000000..b8d719f --- /dev/null +++ b/rulebooks/multiple_rules_with_sleep.yml @@ -0,0 +1,17 @@ +--- +- name: Test rule multiple firing + hosts: all + sources: + - name: my test source + ansible.eda.generic: + payload: + - i : 10 + loop_count: 30 + loop_delay: 1 + rules: + - name: myrule1 + condition: event.i > 0 + actions: + - debug: + msg: Simple debug message + - print_event: From d688ddd2a6e04fce2cddf50662dce9f6ecfff16b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 7 Aug 2023 10:20:21 -0400 Subject: [PATCH 021/220] Added 10 minute rulebook --- rulebooks/10_minute.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/10_minute.yml diff --git a/rulebooks/10_minute.yml b/rulebooks/10_minute.yml new file mode 100644 index 0000000..91bb0cb --- /dev/null +++ b/rulebooks/10_minute.yml @@ -0,0 +1,18 @@ +--- +- name: Runs for 10 minutes + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 21 + delay: 30 + rules: + - name: rule with 1 action + condition: event.i > 0 + actions: + - debug: + msg: + - debug message 1 + - debug message 2 + - print_event: + pretty: true From d0ef91944fa3bb1f2f97119c194fc27ca2706ea7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 7 Aug 2023 15:23:10 -0400 Subject: [PATCH 022/220] utf key --- utf_key.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 utf_key.yml diff --git a/utf_key.yml b/utf_key.yml new file mode 100644 index 0000000..e589613 --- /dev/null +++ b/utf_key.yml @@ -0,0 +1,31 @@ +--- +- name: Key with non alphanumeric characters + hosts: all + sources: + - ansible.eda.generic: + loop_count: 1 + timestamp: true + create_index: i + payload: + - message: + name: Fred + - message: + name: Barney + - message: + नाम: മധു + rules: + - name: "Square accessor" + condition: event.message["नाम"] == "മധു" + action: + print_event: + pretty: True + - name: English comparison using dot notation + condition: event.message.name == "Fred" + action: + print_event: + pretty: True + - name: English comparison using square bracket accessor + condition: event.message["name"] == "Barney" + action: + print_event: + pretty: True \ No newline at end of file From b7ac645d8e60d5063278fea8a91ab4fe9f8e44c9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 7 Aug 2023 15:24:08 -0400 Subject: [PATCH 023/220] Moved --- utf_key.yml => rulebooks/utf_key.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename utf_key.yml => rulebooks/utf_key.yml (100%) diff --git a/utf_key.yml b/rulebooks/utf_key.yml similarity index 100% rename from utf_key.yml rename to rulebooks/utf_key.yml From b165d66117130c38ea4d553bcb5331956804ff56 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 9 Aug 2023 16:02:35 -0400 Subject: [PATCH 024/220] Mimic Failure --- should_fail_import.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 should_fail_import.yml diff --git a/should_fail_import.yml b/should_fail_import.yml new file mode 100644 index 0000000..1de5fc3 --- /dev/null +++ b/should_fail_import.yml @@ -0,0 +1,13 @@ +--- +- name: Should fail during import + hosts: all + sources: + - name: generic + generic: + payload: + - b: abc : def + rules: + - name: Test + condition: event.b == "abc : def" + action: + print_event: From f62066ec8e74868462fdc9b2ff99791d2edb8505 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 9 Aug 2023 16:07:56 -0400 Subject: [PATCH 025/220] Move file --- should_fail_import.yml => rulebooks/should_fail_import.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename should_fail_import.yml => rulebooks/should_fail_import.yml (100%) diff --git a/should_fail_import.yml b/rulebooks/should_fail_import.yml similarity index 100% rename from should_fail_import.yml rename to rulebooks/should_fail_import.yml From 395a473333cd480e0e6bcc4f4177cc74535cb2cc Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 15 Aug 2023 10:22:16 -0400 Subject: [PATCH 026/220] Changed sources to soruces to check if it fails --- rulebooks/should_fail_import.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/should_fail_import.yml b/rulebooks/should_fail_import.yml index 1de5fc3..38a2e5f 100644 --- a/rulebooks/should_fail_import.yml +++ b/rulebooks/should_fail_import.yml @@ -1,7 +1,7 @@ --- - name: Should fail during import hosts: all - sources: + soruces: - name: generic generic: payload: From 48bc45df7564b79da553b6abc8138b3917395618 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 15 Aug 2023 10:25:45 -0400 Subject: [PATCH 027/220] Fix yaml syntax issues --- rulebooks/should_fail_import.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/should_fail_import.yml b/rulebooks/should_fail_import.yml index 38a2e5f..1720889 100644 --- a/rulebooks/should_fail_import.yml +++ b/rulebooks/should_fail_import.yml @@ -5,9 +5,9 @@ - name: generic generic: payload: - - b: abc : def + - b: test rules: - name: Test - condition: event.b == "abc : def" + condition: event.b == "test" action: print_event: From c8e5c1ec3dd180b001d9ebcbc21250889328905d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 15 Aug 2023 13:11:32 -0400 Subject: [PATCH 028/220] Add examples for multiple rule match --- rulebooks/80_match_multiple_rules.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/80_match_multiple_rules.yml diff --git a/rulebooks/80_match_multiple_rules.yml b/rulebooks/80_match_multiple_rules.yml new file mode 100644 index 0000000..2814cbc --- /dev/null +++ b/rulebooks/80_match_multiple_rules.yml @@ -0,0 +1,17 @@ +--- +- name: match multiple rules + hosts: all + match_multiple_rules: true + sources: + - name: range + range: + limit: 5 + rules: + - name: rule1 + condition: event.i == 1 + action: + debug: + - name: rule2 + condition: event.i == 1 + action: + print_event: From 530ebada6341d07379afc027ff9d97a9a9921178 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 15 Aug 2023 13:15:47 -0400 Subject: [PATCH 029/220] Fixed source plugin name --- rulebooks/80_match_multiple_rules.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/80_match_multiple_rules.yml b/rulebooks/80_match_multiple_rules.yml index 2814cbc..22b00b6 100644 --- a/rulebooks/80_match_multiple_rules.yml +++ b/rulebooks/80_match_multiple_rules.yml @@ -4,7 +4,7 @@ match_multiple_rules: true sources: - name: range - range: + ansible.eda.range: limit: 5 rules: - name: rule1 From 392377f4049cfd4be1a677bba78d07a0959c6fa7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 16 Aug 2023 11:20:16 -0400 Subject: [PATCH 030/220] Rules with facts --- rulebooks/rules_with_facts.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/rules_with_facts.yml diff --git a/rulebooks/rules_with_facts.yml b/rulebooks/rules_with_facts.yml new file mode 100644 index 0000000..4e4fa66 --- /dev/null +++ b/rulebooks/rules_with_facts.yml @@ -0,0 +1,27 @@ +--- +- name: Test facts firing multiple rules + hosts: all + sources: + - name: my test source + ansible.eda.generic: + payload: + - i : 1 + shutdown_after: 2 + rules: + - name: myrule1 + condition: event.i == 1 + actions: + - set_fact: + fact: + msg: Hello from facts + - print_event: + - name: fact_rule1 + condition: fact.msg == "Hello from facts" + actions: + - debug: + msg: "Fact rule1 fired" + - name: fact_rule2 + condition: fact.msg == "Hello from facts" + actions: + - debug: + msg: "Fact rule2 fired" From 458685b961f28039f1a5585abd2e5f3ab981c699 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 28 Aug 2023 15:29:55 -0400 Subject: [PATCH 031/220] Added rules_in_flux --- rulebooks/rules_in_flux.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/rules_in_flux.yml diff --git a/rulebooks/rules_in_flux.yml b/rulebooks/rules_in_flux.yml new file mode 100644 index 0000000..fc1e8f6 --- /dev/null +++ b/rulebooks/rules_in_flux.yml @@ -0,0 +1,13 @@ +--- +- name: Rules in flux + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 2 + rules: + - name: myrule1 + condition: event.i == 0 + actions: + - debug: + msg: Simple debug message From 1fdea0315ca93b7be2cb9f0f71626438d7e5ccca Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 28 Aug 2023 15:32:17 -0400 Subject: [PATCH 032/220] updated rules_in_flux --- rulebooks/rules_in_flux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/rules_in_flux.yml b/rulebooks/rules_in_flux.yml index fc1e8f6..0fc1ffe 100644 --- a/rulebooks/rules_in_flux.yml +++ b/rulebooks/rules_in_flux.yml @@ -6,8 +6,8 @@ ansible.eda.range: limit: 2 rules: - - name: myrule1 + - name: mynew_rule1 condition: event.i == 0 actions: - - debug: - msg: Simple debug message + - print_event: + pretty: True From 73aeb0a5290e4116f292d8949e161c89cf063446 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 28 Aug 2023 15:37:23 -0400 Subject: [PATCH 033/220] updated to add a rule --- rulebooks/rules_in_flux.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rulebooks/rules_in_flux.yml b/rulebooks/rules_in_flux.yml index 0fc1ffe..2dd3e92 100644 --- a/rulebooks/rules_in_flux.yml +++ b/rulebooks/rules_in_flux.yml @@ -11,3 +11,8 @@ actions: - print_event: pretty: True + - name: mynew_rule2 + condition: event.i == 1 + actions: + - print_event: + pretty: True From 9d053f6b0ab8b1763eed2caac98c3c81a8b756e9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 28 Aug 2023 16:25:44 -0400 Subject: [PATCH 034/220] updated --- rulebooks/rules_in_flux.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/rulebooks/rules_in_flux.yml b/rulebooks/rules_in_flux.yml index 2dd3e92..bfcec79 100644 --- a/rulebooks/rules_in_flux.yml +++ b/rulebooks/rules_in_flux.yml @@ -6,13 +6,8 @@ ansible.eda.range: limit: 2 rules: - - name: mynew_rule1 + - name: mynew_rule3 condition: event.i == 0 actions: - print_event: pretty: True - - name: mynew_rule2 - condition: event.i == 1 - actions: - - print_event: - pretty: True From da418809926192d89bc31bc4656f8ab7d73c32ba Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 29 Sep 2023 12:59:03 -0400 Subject: [PATCH 035/220] add every minute rule --- rulebooks/rules_every_minute.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 rulebooks/rules_every_minute.yml diff --git a/rulebooks/rules_every_minute.yml b/rulebooks/rules_every_minute.yml new file mode 100644 index 0000000..0e35877 --- /dev/null +++ b/rulebooks/rules_every_minute.yml @@ -0,0 +1,14 @@ +--- +- name: Rules every minute + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: 200000 + delay: 60 + rules: + - name: Minute rule + condition: event.i >= 0 + actions: + - print_event: + pretty: True From 103b6af27db5c6a57984a96a5ddcd8afb9e0e01d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 1 Nov 2023 16:06:47 -0400 Subject: [PATCH 036/220] Added rulebook with listener and repeater --- rulebooks/listener.yml | 16 ++++++++++++++++ rulebooks/repeater.yml | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 rulebooks/listener.yml create mode 100644 rulebooks/repeater.yml diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml new file mode 100644 index 0000000..48879c0 --- /dev/null +++ b/rulebooks/listener.yml @@ -0,0 +1,16 @@ +--- +- name: listener + hosts: all + sources: + - name: my_pg_listener + ansible.eda.pg_listener: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + rules: + - name: r1 + condition: event.i == 10 + action: + print_event: diff --git a/rulebooks/repeater.yml b/rulebooks/repeater.yml new file mode 100644 index 0000000..e5fc2db --- /dev/null +++ b/rulebooks/repeater.yml @@ -0,0 +1,18 @@ +--- +- name: repeater + hosts: all + sources: + - name: range + range: + limit: 500 + rules: + - name: r1 + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" From 4d525966e96c6960f8f00a681c3016f0f1d9675b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 1 Nov 2023 20:53:54 -0400 Subject: [PATCH 037/220] fixed source name --- rulebooks/repeater.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/repeater.yml b/rulebooks/repeater.yml index e5fc2db..5996a9d 100644 --- a/rulebooks/repeater.yml +++ b/rulebooks/repeater.yml @@ -3,7 +3,7 @@ hosts: all sources: - name: range - range: + ansible.eda.range: limit: 500 rules: - name: r1 From 0fe2bfe3d7afd48f5b92e9ff12a1d7b1420b01ae Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 1 Nov 2023 20:59:51 -0400 Subject: [PATCH 038/220] lowered the limits --- rulebooks/listener.yml | 2 +- rulebooks/repeater.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index 48879c0..eedbe02 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -11,6 +11,6 @@ channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" rules: - name: r1 - condition: event.i == 10 + condition: event.i >= 3 action: print_event: diff --git a/rulebooks/repeater.yml b/rulebooks/repeater.yml index 5996a9d..02eee50 100644 --- a/rulebooks/repeater.yml +++ b/rulebooks/repeater.yml @@ -4,7 +4,7 @@ sources: - name: range ansible.eda.range: - limit: 500 + limit: 5 rules: - name: r1 condition: "true == true" From dd1c7f013bb3d9d395d02f7f1188d0e7507e85b2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 2 Nov 2023 10:45:29 -0400 Subject: [PATCH 039/220] added webhook --- rulebooks/listener.yml | 8 ++++++-- rulebooks/webhook_repeater.yml | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 rulebooks/webhook_repeater.yml diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index eedbe02..454ad72 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -10,7 +10,11 @@ password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" rules: - - name: r1 - condition: event.i >= 3 + - name: listener ping + condition: event.payload.ping == "pong" action: print_event: + - name: listener shutdown + condition: event.payload.shutdown is defined + action: + shutdown: diff --git a/rulebooks/webhook_repeater.yml b/rulebooks/webhook_repeater.yml new file mode 100644 index 0000000..6fdf346 --- /dev/null +++ b/rulebooks/webhook_repeater.yml @@ -0,0 +1,30 @@ +--- +- name: Run a webhook listener service + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 5555 + rules: + - name: Webhook event + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" + + - name: Shutdown + condition: event.payload.shutdown is defined + actions: + - pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" + - shutdown: From 000826f4cba25539c26a99d8d037ae246f1faf91 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 2 Nov 2023 11:03:12 -0400 Subject: [PATCH 040/220] fixed typo in webhook_repeater --- rulebooks/webhook_repeater.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rulebooks/webhook_repeater.yml b/rulebooks/webhook_repeater.yml index 6fdf346..1a31eac 100644 --- a/rulebooks/webhook_repeater.yml +++ b/rulebooks/webhook_repeater.yml @@ -16,7 +16,6 @@ password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" event: "{{ event }}" - - name: Shutdown condition: event.payload.shutdown is defined actions: @@ -27,4 +26,4 @@ password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" event: "{{ event }}" - - shutdown: + - shutdown: From 097022264089e00d0d28d8045d52d17668d555ab Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 2 Nov 2023 15:11:50 -0400 Subject: [PATCH 041/220] fixed host --- rulebooks/webhook_repeater.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/webhook_repeater.yml b/rulebooks/webhook_repeater.yml index 1a31eac..a07f286 100644 --- a/rulebooks/webhook_repeater.yml +++ b/rulebooks/webhook_repeater.yml @@ -5,6 +5,7 @@ sources: - ansible.eda.webhook: port: 5555 + host: 0.0.0.0 rules: - name: Webhook event condition: "true == true" From cdd129454eb2978496d69d43797ecf078fe285b3 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 3 Nov 2023 14:45:23 -0700 Subject: [PATCH 042/220] no shutdown variants --- rulebooks/listener_no_shutdown.yml | 16 ++++++++++++++++ rulebooks/webhook_repeater_no_shutdown.yml | 19 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 rulebooks/listener_no_shutdown.yml create mode 100644 rulebooks/webhook_repeater_no_shutdown.yml diff --git a/rulebooks/listener_no_shutdown.yml b/rulebooks/listener_no_shutdown.yml new file mode 100644 index 0000000..e16f1f6 --- /dev/null +++ b/rulebooks/listener_no_shutdown.yml @@ -0,0 +1,16 @@ +--- +- name: listener + hosts: all + sources: + - name: my_pg_listener + ansible.eda.pg_listener: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + rules: + - name: listener ping + condition: event.payload.ping == "pong" + action: + print_event: diff --git a/rulebooks/webhook_repeater_no_shutdown.yml b/rulebooks/webhook_repeater_no_shutdown.yml new file mode 100644 index 0000000..5d81ce5 --- /dev/null +++ b/rulebooks/webhook_repeater_no_shutdown.yml @@ -0,0 +1,19 @@ +--- +- name: Run a webhook listener service + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" From d1c87861b9f865e709ede2d29ac84f0ce3accdda Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 10 Nov 2023 21:02:54 -0500 Subject: [PATCH 043/220] added test webhook --- rulebooks/test_webhook.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/test_webhook.yml diff --git a/rulebooks/test_webhook.yml b/rulebooks/test_webhook.yml new file mode 100644 index 0000000..cfeb880 --- /dev/null +++ b/rulebooks/test_webhook.yml @@ -0,0 +1,18 @@ +--- +- name: Run a webhook rulebook + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: event.payload.ping is defined + action: + debug: + msg: "Sequence {{event.payload.sequence}}" + - name: Shutdown + condition: event.payload.shutdown is defined + actions: + - shutdown: From 9ac9f05aa69500d90427f1e63d20c9beb4f4fca7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 13 Nov 2023 16:56:56 -0500 Subject: [PATCH 044/220] used debug message --- rulebooks/listener.yml | 3 ++- rulebooks/webhook_repeater.yml | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index 454ad72..f0c454b 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -13,7 +13,8 @@ - name: listener ping condition: event.payload.ping == "pong" action: - print_event: + debug: + msg: "Received message {{ event.payload.sequence }}" - name: listener shutdown condition: event.payload.shutdown is defined action: diff --git a/rulebooks/webhook_repeater.yml b/rulebooks/webhook_repeater.yml index a07f286..4553b65 100644 --- a/rulebooks/webhook_repeater.yml +++ b/rulebooks/webhook_repeater.yml @@ -1,22 +1,12 @@ --- - name: Run a webhook listener service hosts: all - match_multiple_rules: true + match_multiple_rules: false sources: - ansible.eda.webhook: port: 5555 host: 0.0.0.0 rules: - - name: Webhook event - condition: "true == true" - action: - pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" - event: "{{ event }}" - name: Shutdown condition: event.payload.shutdown is defined actions: @@ -28,3 +18,13 @@ channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" event: "{{ event }}" - shutdown: + - name: Webhook event + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" From e2425d05fd2d531531478ee548da0b5c40e8bbbf Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 09:38:09 -0500 Subject: [PATCH 045/220] Added blob generator --- rulebooks/blob_generator.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 rulebooks/blob_generator.yml diff --git a/rulebooks/blob_generator.yml b/rulebooks/blob_generator.yml new file mode 100644 index 0000000..35a65be --- /dev/null +++ b/rulebooks/blob_generator.yml @@ -0,0 +1,22 @@ +--- +- name: Post events with large blobs + hosts: all + sources: + - ansible.eda.generic: + create_index: sequence + blob_size: "{{ BLOB_SIZE }}" + loop_count: "{{ NUMBER_OF_EVENTS }}" + payload: + - ping: pong + manufacturer: Joola + rules: + - name: Generic event + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" From 0ec7c6038c7fb4cbb5b9fa33042570db095ccb93 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 10:10:56 -0500 Subject: [PATCH 046/220] moved payload under payload --- rulebooks/blob_generator.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rulebooks/blob_generator.yml b/rulebooks/blob_generator.yml index 35a65be..bd6899d 100644 --- a/rulebooks/blob_generator.yml +++ b/rulebooks/blob_generator.yml @@ -7,8 +7,9 @@ blob_size: "{{ BLOB_SIZE }}" loop_count: "{{ NUMBER_OF_EVENTS }}" payload: - - ping: pong - manufacturer: Joola + - payload: + ping: pong + manufacturer: Joola rules: - name: Generic event condition: "true == true" From 22a3251f39bf386dd42314833d036aa528ec4063 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 16:25:13 -0500 Subject: [PATCH 047/220] add final_payload --- rulebooks/blob_generator.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rulebooks/blob_generator.yml b/rulebooks/blob_generator.yml index bd6899d..ea03764 100644 --- a/rulebooks/blob_generator.yml +++ b/rulebooks/blob_generator.yml @@ -6,6 +6,9 @@ create_index: sequence blob_size: "{{ BLOB_SIZE }}" loop_count: "{{ NUMBER_OF_EVENTS }}" + final_payload: + payload: + shutdown: true payload: - payload: ping: pong From bde792f3b927957229252613364f6ea9f39b6f1d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 19:01:35 -0500 Subject: [PATCH 048/220] added test webhook --- rulebooks/test_webhook.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/rulebooks/test_webhook.yml b/rulebooks/test_webhook.yml index cfeb880..491fe0b 100644 --- a/rulebooks/test_webhook.yml +++ b/rulebooks/test_webhook.yml @@ -1,18 +1,12 @@ --- -- name: Run a webhook rulebook +- name: Run a webhook source hosts: all - match_multiple_rules: true sources: - ansible.eda.webhook: port: 5555 host: 0.0.0.0 rules: - name: Webhook event - condition: event.payload.ping is defined + condition: "true == true" action: - debug: - msg: "Sequence {{event.payload.sequence}}" - - name: Shutdown - condition: event.payload.shutdown is defined - actions: - - shutdown: + print_event: From 605fa1f315104ba00ec0c17d67848f2858fe8969 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 19:09:32 -0500 Subject: [PATCH 049/220] webhook with var --- rulebooks/test_webhook_with_var.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 rulebooks/test_webhook_with_var.yml diff --git a/rulebooks/test_webhook_with_var.yml b/rulebooks/test_webhook_with_var.yml new file mode 100644 index 0000000..03bd575 --- /dev/null +++ b/rulebooks/test_webhook_with_var.yml @@ -0,0 +1,12 @@ +--- +- name: Run a webhook source + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ WEBHOOK_PORT }}" + host: 0.0.0.0 + rules: + - name: Webhook event + condition: "true == true" + action: + print_event: From 5685f98f84dadc58e0d64634306a83ef8cb762a6 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 15 Nov 2023 19:32:28 -0500 Subject: [PATCH 050/220] added 6666 --- rulebooks/test_webhook_6666.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 rulebooks/test_webhook_6666.yml diff --git a/rulebooks/test_webhook_6666.yml b/rulebooks/test_webhook_6666.yml new file mode 100644 index 0000000..9cd27f6 --- /dev/null +++ b/rulebooks/test_webhook_6666.yml @@ -0,0 +1,12 @@ +--- +- name: Run a webhook source + hosts: all + sources: + - ansible.eda.webhook: + port: 6666 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: "true == true" + action: + print_event: From bebbe3e398891cdf5fe3ef2305837eb1bdd06c33 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 17 Nov 2023 10:18:49 -0500 Subject: [PATCH 051/220] changed action to none --- rulebooks/listener.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index f0c454b..5a32b01 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -13,8 +13,7 @@ - name: listener ping condition: event.payload.ping == "pong" action: - debug: - msg: "Received message {{ event.payload.sequence }}" + none: - name: listener shutdown condition: event.payload.shutdown is defined action: From d178b417c2272028fed2898dead3c3ebb8d8642b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 17 Nov 2023 14:53:44 -0500 Subject: [PATCH 052/220] add configurable blob --- rulebooks/rulebook_with_configurable_blob.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/rulebook_with_configurable_blob.yml diff --git a/rulebooks/rulebook_with_configurable_blob.yml b/rulebooks/rulebook_with_configurable_blob.yml new file mode 100644 index 0000000..ee44740 --- /dev/null +++ b/rulebooks/rulebook_with_configurable_blob.yml @@ -0,0 +1,17 @@ +--- +- name: Generate a blob + hosts: all + sources: + - name: generic + generic: + payload: + ping: pong + truth: true + loop_count: "{{ LOOP_COUNT }}" + blob_size: "{{ BLOB_SIZE }}" + create_index: sequence + rules: + - name: r1 + condition: event.ping == "pong" + action: + none: From 4c88f951798d46bc8e17c576b2bfee2f1fd92a8e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 17 Nov 2023 15:16:48 -0500 Subject: [PATCH 053/220] added ansible.eda.generic --- rulebooks/rulebook_with_configurable_blob.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/rulebook_with_configurable_blob.yml b/rulebooks/rulebook_with_configurable_blob.yml index ee44740..5bc550a 100644 --- a/rulebooks/rulebook_with_configurable_blob.yml +++ b/rulebooks/rulebook_with_configurable_blob.yml @@ -2,12 +2,12 @@ - name: Generate a blob hosts: all sources: - - name: generic + - name: ansible.eda.generic generic: payload: ping: pong truth: true - loop_count: "{{ LOOP_COUNT }}" + loop_count: "{{ NUMBER_OF_EVENTS }}" blob_size: "{{ BLOB_SIZE }}" create_index: sequence rules: From 420362f7ba3fd38c34525b65270f1bcaa4dae2e0 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 17 Nov 2023 15:20:02 -0500 Subject: [PATCH 054/220] added ansible.eda.generic --- rulebooks/rulebook_with_configurable_blob.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/rulebook_with_configurable_blob.yml b/rulebooks/rulebook_with_configurable_blob.yml index 5bc550a..0aaad23 100644 --- a/rulebooks/rulebook_with_configurable_blob.yml +++ b/rulebooks/rulebook_with_configurable_blob.yml @@ -2,8 +2,8 @@ - name: Generate a blob hosts: all sources: - - name: ansible.eda.generic - generic: + - name: Large Hadron Collider + ansible.eda.generic: payload: ping: pong truth: true From 2ab05f8caef4297bed2473d91a54208b190abf54 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 17 Nov 2023 19:07:18 -0500 Subject: [PATCH 055/220] added_pg_notify --- rulebooks/pgnotify_with_configurable_blob.yml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/pgnotify_with_configurable_blob.yml diff --git a/rulebooks/pgnotify_with_configurable_blob.yml b/rulebooks/pgnotify_with_configurable_blob.yml new file mode 100644 index 0000000..27d3ad6 --- /dev/null +++ b/rulebooks/pgnotify_with_configurable_blob.yml @@ -0,0 +1,27 @@ +--- +- name: Generate a blob and send to Postgres + hosts: all + sources: + - name: Large Hadron Collider + ansible.eda.generic: + payload: + - payload: + ping: pong + truth: true + loop_count: "{{ NUMBER_OF_EVENTS }}" + blob_size: "{{ BLOB_SIZE }}" + create_index: sequence + final_payload: + payload: + shutdown: true + rules: + - name: send to postgres + condition: "true == true" + action: + pg_notify: + dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" + host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" + user: "{{ 'EDA_NOTIFY_USER' | getenv }}" + password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" + channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + event: "{{ event }}" From 8449e8ce525b73c0314b742eead2af066b736b1f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 18 Nov 2023 21:33:52 -0500 Subject: [PATCH 056/220] use extra_var instead of env vars --- rulebooks/blob_generator.yml | 10 +++++----- rulebooks/listener.yml | 10 +++++----- rulebooks/pgnotify_with_configurable_blob.yml | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/rulebooks/blob_generator.yml b/rulebooks/blob_generator.yml index ea03764..982350d 100644 --- a/rulebooks/blob_generator.yml +++ b/rulebooks/blob_generator.yml @@ -18,9 +18,9 @@ condition: "true == true" action: pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dbname: "{{ EDA_NOTIFY_DB_NAME }}" + host: "{{ EDA_NOTIFY_DB_HOST }}" + user: "{{ EDA_NOTIFY_USER }}" + password: "{{ EDA_NOTIFY_PASSWORD }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index 5a32b01..fd1b33f 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -4,11 +4,11 @@ sources: - name: my_pg_listener ansible.eda.pg_listener: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dbname: "{{ EDA_NOTIFY_DB_NAME }}" + host: "{{ EDA_NOTIFY_DB_HOST }}" + user: "{{ EDA_NOTIFY_USER }}" + password: "{{ EDA_NOTIFY_PASSWORD }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" rules: - name: listener ping condition: event.payload.ping == "pong" diff --git a/rulebooks/pgnotify_with_configurable_blob.yml b/rulebooks/pgnotify_with_configurable_blob.yml index 27d3ad6..ecc868e 100644 --- a/rulebooks/pgnotify_with_configurable_blob.yml +++ b/rulebooks/pgnotify_with_configurable_blob.yml @@ -2,7 +2,7 @@ - name: Generate a blob and send to Postgres hosts: all sources: - - name: Large Hadron Collider + - name: Large Hadron Source ansible.eda.generic: payload: - payload: @@ -19,9 +19,9 @@ condition: "true == true" action: pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dbname: "{{ EDA_NOTIFY_DB_NAME }}" + host: "{{ EDA_NOTIFY_DB_HOST }}" + user: "{{ EDA_NOTIFY_USER }}" + password: "{{ EDA_NOTIFY_PASSWORD }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" From 02f5b79fa32826d2216c0023b994bf681d883cb5 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 20 Nov 2023 11:39:44 -0500 Subject: [PATCH 057/220] use dsn --- rulebooks/blob_generator.yml | 5 +---- rulebooks/listener.yml | 5 +---- rulebooks/pgnotify_with_configurable_blob.yml | 5 +---- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/rulebooks/blob_generator.yml b/rulebooks/blob_generator.yml index 982350d..f4df097 100644 --- a/rulebooks/blob_generator.yml +++ b/rulebooks/blob_generator.yml @@ -18,9 +18,6 @@ condition: "true == true" action: pg_notify: - dbname: "{{ EDA_NOTIFY_DB_NAME }}" - host: "{{ EDA_NOTIFY_DB_HOST }}" - user: "{{ EDA_NOTIFY_USER }}" - password: "{{ EDA_NOTIFY_PASSWORD }}" + dsn: "{{ EDA_NOTIFY_DSN }}" channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" diff --git a/rulebooks/listener.yml b/rulebooks/listener.yml index fd1b33f..9d15aa9 100644 --- a/rulebooks/listener.yml +++ b/rulebooks/listener.yml @@ -4,10 +4,7 @@ sources: - name: my_pg_listener ansible.eda.pg_listener: - dbname: "{{ EDA_NOTIFY_DB_NAME }}" - host: "{{ EDA_NOTIFY_DB_HOST }}" - user: "{{ EDA_NOTIFY_USER }}" - password: "{{ EDA_NOTIFY_PASSWORD }}" + dsn: "{{ EDA_NOTIFY_DSN }}" channel: "{{ EDA_NOTIFY_CHANNEL }}" rules: - name: listener ping diff --git a/rulebooks/pgnotify_with_configurable_blob.yml b/rulebooks/pgnotify_with_configurable_blob.yml index ecc868e..8ebc362 100644 --- a/rulebooks/pgnotify_with_configurable_blob.yml +++ b/rulebooks/pgnotify_with_configurable_blob.yml @@ -19,9 +19,6 @@ condition: "true == true" action: pg_notify: - dbname: "{{ EDA_NOTIFY_DB_NAME }}" - host: "{{ EDA_NOTIFY_DB_HOST }}" - user: "{{ EDA_NOTIFY_USER }}" - password: "{{ EDA_NOTIFY_PASSWORD }}" + dsn: "{{ EDA_NOTIFY_DSN }}" channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" From 9a3959ce3dd5235a817fdd92a8f19f321d43829e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 20 Nov 2023 14:20:47 -0500 Subject: [PATCH 058/220] fixed var names --- rulebooks/listener_no_shutdown.yml | 7 ++----- rulebooks/repeater.yml | 7 ++----- rulebooks/webhook_repeater.yml | 14 ++++---------- rulebooks/webhook_repeater_no_shutdown.yml | 7 ++----- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/rulebooks/listener_no_shutdown.yml b/rulebooks/listener_no_shutdown.yml index e16f1f6..a667460 100644 --- a/rulebooks/listener_no_shutdown.yml +++ b/rulebooks/listener_no_shutdown.yml @@ -4,11 +4,8 @@ sources: - name: my_pg_listener ansible.eda.pg_listener: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dsn: "{{ EDA_NOTIFY_DSN }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" rules: - name: listener ping condition: event.payload.ping == "pong" diff --git a/rulebooks/repeater.yml b/rulebooks/repeater.yml index 02eee50..79c90ea 100644 --- a/rulebooks/repeater.yml +++ b/rulebooks/repeater.yml @@ -10,9 +10,6 @@ condition: "true == true" action: pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dsn: "{{ EDA_NOTIFY_DSN }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" diff --git a/rulebooks/webhook_repeater.yml b/rulebooks/webhook_repeater.yml index 4553b65..f79afa4 100644 --- a/rulebooks/webhook_repeater.yml +++ b/rulebooks/webhook_repeater.yml @@ -11,20 +11,14 @@ condition: event.payload.shutdown is defined actions: - pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dsn: "{{ EDA_NOTIFY_DSN }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" - shutdown: - name: Webhook event condition: "true == true" action: pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dsn: "{{ EDA_NOTIFY_DSN }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" diff --git a/rulebooks/webhook_repeater_no_shutdown.yml b/rulebooks/webhook_repeater_no_shutdown.yml index 5d81ce5..160c3ba 100644 --- a/rulebooks/webhook_repeater_no_shutdown.yml +++ b/rulebooks/webhook_repeater_no_shutdown.yml @@ -11,9 +11,6 @@ condition: "true == true" action: pg_notify: - dbname: "{{ 'EDA_NOTIFY_DB_NAME' | getenv }}" - host: "{{ 'EDA_NOTIFY_DB_HOST' |getenv }}" - user: "{{ 'EDA_NOTIFY_USER' | getenv }}" - password: "{{ 'EDA_NOTIFY_PASSWORD' | getenv }}" - channel: "{{ 'EDA_NOTIFY_CHANNEL' | getenv }}" + dsn: "{{ EDA_NOTIFY_DSN }}" + channel: "{{ EDA_NOTIFY_CHANNEL }}" event: "{{ event }}" From 39b07149c7926b4dfd991b8ef7ed9159fdb5a2d4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 22 Nov 2023 16:18:38 -0500 Subject: [PATCH 059/220] added kafka generator and listener --- rulebooks/kafka_generator.yml | 24 ++++++++++++++++++++++++ rulebooks/kafka_listener.yml | 19 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 rulebooks/kafka_generator.yml create mode 100644 rulebooks/kafka_listener.yml diff --git a/rulebooks/kafka_generator.yml b/rulebooks/kafka_generator.yml new file mode 100644 index 0000000..5c89e60 --- /dev/null +++ b/rulebooks/kafka_generator.yml @@ -0,0 +1,24 @@ +--- +- name: Post events with large blobs into Kafka + hosts: all + sources: + - ansible.eda.generic: + create_index: sequence + blob_size: 12 + loop_count: 1000 + final_payload: + payload: + shutdown: true + payload: + - payload: + ping: pong + manufacturer: Joola + rules: + - name: Generic event + condition: true + action: + kafka_notify: + topic: demo + event: "{{ event }}" + connection: + bootstrap_servers: localhost diff --git a/rulebooks/kafka_listener.yml b/rulebooks/kafka_listener.yml new file mode 100644 index 0000000..c6a5fa4 --- /dev/null +++ b/rulebooks/kafka_listener.yml @@ -0,0 +1,19 @@ +--- +- name: kafka listener + hosts: all + sources: + - name: my_kafka_listener + ansible.eda.kafka: + host: localhost + topic: demo + port: 9092 + offset: latest + rules: + - name: listener ping + condition: event.body.payload.ping == "pong" + action: + none: + - name: listener shutdown + condition: event.body.payload.shutdown is defined + action: + shutdown: From 93f9c9621622dd6c885ecd5634a0c06217a97634 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 22 Nov 2023 16:31:40 -0500 Subject: [PATCH 060/220] use jinja2 default --- rulebooks/kafka_generator.yml | 4 ++-- rulebooks/kafka_listener.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rulebooks/kafka_generator.yml b/rulebooks/kafka_generator.yml index 5c89e60..d72c9ca 100644 --- a/rulebooks/kafka_generator.yml +++ b/rulebooks/kafka_generator.yml @@ -18,7 +18,7 @@ condition: true action: kafka_notify: - topic: demo + topic: "{{ MY_KAFKA_TOPIC | default('demo') }}" event: "{{ event }}" connection: - bootstrap_servers: localhost + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" diff --git a/rulebooks/kafka_listener.yml b/rulebooks/kafka_listener.yml index c6a5fa4..20e38d5 100644 --- a/rulebooks/kafka_listener.yml +++ b/rulebooks/kafka_listener.yml @@ -4,8 +4,8 @@ sources: - name: my_kafka_listener ansible.eda.kafka: - host: localhost - topic: demo + host: "{{ MY_KAFKA_HOST | default('localhost') }}" + topic: "{{ MY_KAFKA_TOPIC | default('demo') }}" port: 9092 offset: latest rules: From f215a60dee092d804210a491e5f7d2bd9ffdae45 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 22 Nov 2023 16:33:29 -0500 Subject: [PATCH 061/220] configurable blob size --- rulebooks/kafka_generator.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/kafka_generator.yml b/rulebooks/kafka_generator.yml index d72c9ca..9ba0ee8 100644 --- a/rulebooks/kafka_generator.yml +++ b/rulebooks/kafka_generator.yml @@ -4,8 +4,8 @@ sources: - ansible.eda.generic: create_index: sequence - blob_size: 12 - loop_count: 1000 + blob_size: "{{ BLOB_SIZE | default(32) }}" + loop_count: "{{ NUMBER_OF_EVENTS | default(8) }}" final_payload: payload: shutdown: true From 33ad9b1d362068c9a46d6861413e61999fca761e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 26 Nov 2023 15:44:26 -0500 Subject: [PATCH 062/220] event router --- rulebooks/kafka_event_router.yml | 68 ++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 rulebooks/kafka_event_router.yml diff --git a/rulebooks/kafka_event_router.yml b/rulebooks/kafka_event_router.yml new file mode 100644 index 0000000..c5a6200 --- /dev/null +++ b/rulebooks/kafka_event_router.yml @@ -0,0 +1,68 @@ +--- +- name: Write events to different channels based on color + hosts: all + sources: + - ansible.eda.generic: + create_index: sequence + blob_size: "{{ BLOB_SIZE | default(32) }}" + loop_count: "{{ NUMBER_OF_EVENTS | default(8) }}" + final_payload: + payload: + shutdown: true + payload: + - payload: + ping: pong + manufacturer: Joola + color: red + - payload: + ping: pong + manufacturer: Kettler + color: blue + - payload: + ping: pong + manufacturer: Stiga + color: green + + rules: + - name: Red Event + condition: event.payload.color == "red" + action: + kafka_notify: + topic: "{{ MY_KAFKA_RED_TOPIC | default('red') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" + - name: Blue Event + condition: event.payload.color == "blue" + action: + kafka_notify: + topic: "{{ MY_KAFKA_BLUE_TOPIC | default('blue') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" + - name: Green Event + condition: event.payload.color == "green" + action: + kafka_notify: + topic: "{{ MY_KAFKA_GREEN_TOPIC | default('green') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" + - name: Shutdown Event + condition: event.payload.shutdown + actions: + - kafka_notify: + topic: "{{ MY_KAFKA_RED_TOPIC | default('red') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" + - kafka_notify: + topic: "{{ MY_KAFKA_BLUE_TOPIC | default('blue') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" + - kafka_notify: + topic: "{{ MY_KAFKA_GREEN_TOPIC | default('green') }}" + event: "{{ event }}" + connection: + bootstrap_servers: "{{ MY_KAFKA_HOST | default('localhost') }}" From db3e78ba6c205f37a81e3097c4e2d46b7c7843c7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 19 Dec 2023 21:17:11 -0500 Subject: [PATCH 063/220] Added pg_listener_template --- rulebooks/pg_listener_template.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 rulebooks/pg_listener_template.yml diff --git a/rulebooks/pg_listener_template.yml b/rulebooks/pg_listener_template.yml new file mode 100644 index 0000000..9055095 --- /dev/null +++ b/rulebooks/pg_listener_template.yml @@ -0,0 +1,14 @@ +--- +- name: PG Listener Template + hosts: all + sources: + - ansible.eda.range: + limit: 10 + rules: + - name: Post event + condition: true + action: + pg_notify: + dsn: "{{ EDA_PG_NOTIFY_DSN }}" + channel: "{{ EDA_PG_NOTIFY_CHANNEL }}" + event: "{{ event }}" From 581e9b3dbeb36c1c69128a24ae82b196ca2c3732 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 21 Dec 2023 15:07:41 -0500 Subject: [PATCH 064/220] webhook rules --- rulebooks/webhook_rulebook_barney.yml | 23 +++++++++++++++++++++++ rulebooks/webhook_rulebook_fred.yml | 23 +++++++++++++++++++++++ rulebooks/webhook_rulebook_wilma.yml | 23 +++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 rulebooks/webhook_rulebook_barney.yml create mode 100644 rulebooks/webhook_rulebook_fred.yml create mode 100644 rulebooks/webhook_rulebook_wilma.yml diff --git a/rulebooks/webhook_rulebook_barney.yml b/rulebooks/webhook_rulebook_barney.yml new file mode 100644 index 0000000..b37f0af --- /dev/null +++ b/rulebooks/webhook_rulebook_barney.yml @@ -0,0 +1,23 @@ +--- +- name: Barneys webhook rulebook + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 6666 + host: 0.0.0.0 + rules: + - name: Barneys's rule + condition: event.payload.name == "Barney" + action: + print_event: + - name: Broadcast + condition: event.payload.broadcast + action: + debug: + msg: "PSA {event.payload.message}" + - name: Shutdown + condition: event.payload.shutdown and event.payload.name == "Barney" + action: + debug: + msg: "Shutting down activation Barneys" diff --git a/rulebooks/webhook_rulebook_fred.yml b/rulebooks/webhook_rulebook_fred.yml new file mode 100644 index 0000000..765c6f8 --- /dev/null +++ b/rulebooks/webhook_rulebook_fred.yml @@ -0,0 +1,23 @@ +--- +- name: Freds webhook rulebook + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 4444 + host: 0.0.0.0 + rules: + - name: Fred's rule + condition: event.payload.name == "Fred" + action: + print_event: + - name: Broadcast + condition: event.payload.broadcast + action: + debug: + msg: "PSA {event.payload.message}" + - name: Shutdown + condition: event.payload.shutdown + action: + debug: + msg: "Shutting down Fred's activation" diff --git a/rulebooks/webhook_rulebook_wilma.yml b/rulebooks/webhook_rulebook_wilma.yml new file mode 100644 index 0000000..acb2c53 --- /dev/null +++ b/rulebooks/webhook_rulebook_wilma.yml @@ -0,0 +1,23 @@ +--- +- name: Wilmas webhook rulebook + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + print_event: + - name: Broadcast in wilmas rulebook + condition: event.payload.broadcast + action: + debug: + msg: "PSA {event.payload.message}" + - name: Shutdown + condition: event.payload.shutdown and event.payload.name == "Wilma" + action: + debug: + msg: "Shutting down Wilma's activation" From 3cb193b4cf8a309cfd275760a8767b7ffc019ae2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 25 Dec 2023 21:44:00 -0500 Subject: [PATCH 065/220] Added generic webhook listener --- rulebooks/generic_webhook_listener.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/generic_webhook_listener.yml diff --git a/rulebooks/generic_webhook_listener.yml b/rulebooks/generic_webhook_listener.yml new file mode 100644 index 0000000..a247d0d --- /dev/null +++ b/rulebooks/generic_webhook_listener.yml @@ -0,0 +1,13 @@ +--- +- name: Generic webhook listener + hosts: all + sources: + - name: my_pg_listener + ansible.eda.pg_listener: + dsn: "{{ EDA_PG_NOTIFY_DSN }}" + channels: "{{ EDA_WEBHOOK_CHANNELS }}" + rules: + - name: webhook data + condition: true + action: + print_event: From 7ca676d510cb0e3c57c3bb57253ef38d26bb8752 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 25 Dec 2023 22:45:54 -0500 Subject: [PATCH 066/220] fixed utf example --- rulebooks/utf_key.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index e589613..485abeb 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters +- name: Key with non alphanumeric characters in condition hosts: all sources: - ansible.eda.generic: @@ -28,4 +28,4 @@ condition: event.message["name"] == "Barney" action: print_event: - pretty: True \ No newline at end of file + pretty: True From 4795362102aba5f08a11284e3f483f8ee448a0b8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 26 Dec 2023 14:12:02 -0500 Subject: [PATCH 067/220] fixed title --- rulebooks/utf_key.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index 485abeb..480fdbf 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters in condition +- name: Key with non alphanumeric characters in conditions hosts: all sources: - ansible.eda.generic: From 51f86a000c32a30ddf9278270878879c19278e04 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 26 Dec 2023 14:14:37 -0500 Subject: [PATCH 068/220] testing --- rulebooks/utf_key.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index 480fdbf..485abeb 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters in conditions +- name: Key with non alphanumeric characters in condition hosts: all sources: - ansible.eda.generic: From c9936bcb1e9f95d0a8797406ec8c5245d5c0d133 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 26 Dec 2023 14:22:58 -0500 Subject: [PATCH 069/220] demo --- rulebooks/utf_key.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index 485abeb..480fdbf 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters in condition +- name: Key with non alphanumeric characters in conditions hosts: all sources: - ansible.eda.generic: From d6678a9aad969ff57c90fa5552aa314987451b7b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 2 Jan 2024 16:32:49 -0500 Subject: [PATCH 070/220] fixed PSA --- rulebooks/webhook_rulebook_barney.yml | 2 +- rulebooks/webhook_rulebook_fred.yml | 2 +- rulebooks/webhook_rulebook_wilma.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/webhook_rulebook_barney.yml b/rulebooks/webhook_rulebook_barney.yml index b37f0af..4300066 100644 --- a/rulebooks/webhook_rulebook_barney.yml +++ b/rulebooks/webhook_rulebook_barney.yml @@ -15,7 +15,7 @@ condition: event.payload.broadcast action: debug: - msg: "PSA {event.payload.message}" + msg: "PSA ({ event.payload.message }}" - name: Shutdown condition: event.payload.shutdown and event.payload.name == "Barney" action: diff --git a/rulebooks/webhook_rulebook_fred.yml b/rulebooks/webhook_rulebook_fred.yml index 765c6f8..74667bb 100644 --- a/rulebooks/webhook_rulebook_fred.yml +++ b/rulebooks/webhook_rulebook_fred.yml @@ -15,7 +15,7 @@ condition: event.payload.broadcast action: debug: - msg: "PSA {event.payload.message}" + msg: "PSA ({ event.payload.message }}" - name: Shutdown condition: event.payload.shutdown action: diff --git a/rulebooks/webhook_rulebook_wilma.yml b/rulebooks/webhook_rulebook_wilma.yml index acb2c53..4e5f326 100644 --- a/rulebooks/webhook_rulebook_wilma.yml +++ b/rulebooks/webhook_rulebook_wilma.yml @@ -15,7 +15,7 @@ condition: event.payload.broadcast action: debug: - msg: "PSA {event.payload.message}" + msg: "PSA ({ event.payload.message }}" - name: Shutdown condition: event.payload.shutdown and event.payload.name == "Wilma" action: From bea0a5fc95d0e1f6256994b3677e53858a316ce6 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 2 Jan 2024 17:40:29 -0500 Subject: [PATCH 071/220] fixed shutdown --- rulebooks/webhook_rulebook_barney.yml | 4 ++-- rulebooks/webhook_rulebook_fred.yml | 4 ++-- rulebooks/webhook_rulebook_wilma.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rulebooks/webhook_rulebook_barney.yml b/rulebooks/webhook_rulebook_barney.yml index 4300066..aa27686 100644 --- a/rulebooks/webhook_rulebook_barney.yml +++ b/rulebooks/webhook_rulebook_barney.yml @@ -19,5 +19,5 @@ - name: Shutdown condition: event.payload.shutdown and event.payload.name == "Barney" action: - debug: - msg: "Shutting down activation Barneys" + shutdown: + message: "Shutting down activation Barneys" diff --git a/rulebooks/webhook_rulebook_fred.yml b/rulebooks/webhook_rulebook_fred.yml index 74667bb..4d37fc2 100644 --- a/rulebooks/webhook_rulebook_fred.yml +++ b/rulebooks/webhook_rulebook_fred.yml @@ -19,5 +19,5 @@ - name: Shutdown condition: event.payload.shutdown action: - debug: - msg: "Shutting down Fred's activation" + shutdown: + message: "Shutting down Fred's activation" diff --git a/rulebooks/webhook_rulebook_wilma.yml b/rulebooks/webhook_rulebook_wilma.yml index 4e5f326..5261dcc 100644 --- a/rulebooks/webhook_rulebook_wilma.yml +++ b/rulebooks/webhook_rulebook_wilma.yml @@ -19,5 +19,5 @@ - name: Shutdown condition: event.payload.shutdown and event.payload.name == "Wilma" action: - debug: - msg: "Shutting down Wilma's activation" + shutdown: + message: "Shutting down Wilma's activation" From c2ca1c677180ed3328d1265e372db777247dbbae Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 3 Jan 2024 15:47:14 -0500 Subject: [PATCH 072/220] fixed freds shutdown --- rulebooks/webhook_rulebook_fred.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_rulebook_fred.yml b/rulebooks/webhook_rulebook_fred.yml index 4d37fc2..e2894df 100644 --- a/rulebooks/webhook_rulebook_fred.yml +++ b/rulebooks/webhook_rulebook_fred.yml @@ -17,7 +17,7 @@ debug: msg: "PSA ({ event.payload.message }}" - name: Shutdown - condition: event.payload.shutdown + condition: event.payload.shutdown and event.payload.name == "Fred" action: shutdown: message: "Shutting down Fred's activation" From 2e0bad20d94b2d7bf29901459f43742036943e65 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 4 Jan 2024 11:37:30 -0500 Subject: [PATCH 073/220] renamed file --- rulebooks/{pg_listener_template.yml => pg_notify_template.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rulebooks/{pg_listener_template.yml => pg_notify_template.yml} (100%) diff --git a/rulebooks/pg_listener_template.yml b/rulebooks/pg_notify_template.yml similarity index 100% rename from rulebooks/pg_listener_template.yml rename to rulebooks/pg_notify_template.yml From da964e6428b0ff025d8a60fc68f71b829a90ce78 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 4 Jan 2024 11:38:25 -0500 Subject: [PATCH 074/220] Fixed title --- rulebooks/pg_notify_template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/pg_notify_template.yml b/rulebooks/pg_notify_template.yml index 9055095..67a419a 100644 --- a/rulebooks/pg_notify_template.yml +++ b/rulebooks/pg_notify_template.yml @@ -1,5 +1,5 @@ --- -- name: PG Listener Template +- name: PG Notify Template hosts: all sources: - ansible.eda.range: From 07f38b40ed1962c857002c45c2c6525c6f632520 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 13 Jan 2024 21:33:49 -0500 Subject: [PATCH 075/220] added single_rule --- rulebooks/single_rule_jinja.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 rulebooks/single_rule_jinja.yml diff --git a/rulebooks/single_rule_jinja.yml b/rulebooks/single_rule_jinja.yml new file mode 100644 index 0000000..a44dcd9 --- /dev/null +++ b/rulebooks/single_rule_jinja.yml @@ -0,0 +1,15 @@ +--- +- name: Test rule firing + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: "{{ enc_limit }}" + delay: 20 + rules: + - name: myrule1 + condition: event.i > 0 + actions: + - debug: + msg: Simple debug message + - print_event: From 5d9d06198e84984e15a9c0e0b359c8859416d53e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 15 Jan 2024 10:20:11 -0500 Subject: [PATCH 076/220] Added vaulted strings --- .../single_rule_with_vaulted_strings.yml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 rulebooks/single_rule_with_vaulted_strings.yml diff --git a/rulebooks/single_rule_with_vaulted_strings.yml b/rulebooks/single_rule_with_vaulted_strings.yml new file mode 100644 index 0000000..603d7bf --- /dev/null +++ b/rulebooks/single_rule_with_vaulted_strings.yml @@ -0,0 +1,21 @@ +--- +- name: Test rule firing with embedded vaulted string + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 35376533653334653533336133396539386430616134643435623565306365366338366631653461 + 6466333965356232333638353136376662613764356333320a343437376562333764396635303530 + 37623764306431613664376431663936373230643133366530323239316131363563613730633961 + 3963313765646434630a636566626539386131653966636637303839313739643132386565343262 + 3332 + delay: 20 + rules: + - name: myrule1 + condition: event.i > 0 + actions: + - debug: + msg: Simple debug message + - print_event: From 327795d83fdc7e2324add4912bb1b3f8e3330ee2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 18 Jan 2024 18:32:10 -0500 Subject: [PATCH 077/220] testing --- rulebooks/single_rule_with_vaulted_strings.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rulebooks/single_rule_with_vaulted_strings.yml b/rulebooks/single_rule_with_vaulted_strings.yml index 603d7bf..f8e666b 100644 --- a/rulebooks/single_rule_with_vaulted_strings.yml +++ b/rulebooks/single_rule_with_vaulted_strings.yml @@ -6,11 +6,11 @@ ansible.eda.range: limit: !vault | $ANSIBLE_VAULT;1.1;AES256 - 35376533653334653533336133396539386430616134643435623565306365366338366631653461 - 6466333965356232333638353136376662613764356333320a343437376562333764396635303530 - 37623764306431613664376431663936373230643133366530323239316131363563613730633961 - 3963313765646434630a636566626539386131653966636637303839313739643132386565343262 - 3332 + 61343164616161376234396238376130303138323439643734386230666130343431623330383935 + 3634353366323030303733373865376638376563633738380a643066353034633639363162666631 + 65643365363632313662353861343761633464666431626235643761666436613239386231353164 + 3733363137646362630a653735346638643131653263663333356164343135633933653362646138 + 6131 delay: 20 rules: - name: myrule1 From 89a33c1da121e8330d8f68cf9b3f869ad23ad91e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 18 Jan 2024 20:19:58 -0500 Subject: [PATCH 078/220] encryption --- rulebooks/vault_demo1.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 rulebooks/vault_demo1.yml diff --git a/rulebooks/vault_demo1.yml b/rulebooks/vault_demo1.yml new file mode 100644 index 0000000..a7790c7 --- /dev/null +++ b/rulebooks/vault_demo1.yml @@ -0,0 +1,15 @@ +--- +- name: Vault Demo + hosts: all + sources: + - ansible.eda.generic: + payload: + - connect: + host: "{{ db_host }}" + password: "{{ db_password }}" + rules: + - name: Check DB Host and password + condition: event.connect.host == "localhost" and event.connect.password == "password" + action: + debug: + msg: "Password and host match" From 01fb1b51c673aded10f2d6f71406b66bbc2a34c5 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 1 Feb 2024 21:26:19 -0500 Subject: [PATCH 079/220] Added new_pg_notify_template --- rulebooks/new_pg_notify_template.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/new_pg_notify_template.yml diff --git a/rulebooks/new_pg_notify_template.yml b/rulebooks/new_pg_notify_template.yml new file mode 100644 index 0000000..6ae2269 --- /dev/null +++ b/rulebooks/new_pg_notify_template.yml @@ -0,0 +1,27 @@ +--- +- name: PG Notify Template Event Stream + hosts: all + sources: + - name: my_range + ansible.eda.range: + limit: 5 + complementary_source: + type: ansible.eda.pg_listener + name: Postgres Listener + args: + dsn: "{{ EDA_PG_NOTIFY_DSN }}" + channels: + - "{{ EDA_PG_NOTIFY_CHANNEL }}" + extra_vars: + EDA_PG_NOTIFY_DSN: "{{ settings.PG_NOTIFY_DSN }}" + EDA_PG_NOTIFY_CHANNEL: "{{ event_stream.channel_name }}" + encrypt_vars: + - EDA_PG_NOTIFY_DSN + rules: + - name: Post event + condition: true + action: + pg_notify: + dsn: "{{ EDA_PG_NOTIFY_DSN }}" + channel: "{{ EDA_PG_NOTIFY_CHANNEL }}" + event: "{{ event }}" From 440a9168b0af5e06c028849e81953b286e869c7e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 21 Feb 2024 17:31:46 -0500 Subject: [PATCH 080/220] log all messages --- rulebooks/webhook_log_all.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 rulebooks/webhook_log_all.yml diff --git a/rulebooks/webhook_log_all.yml b/rulebooks/webhook_log_all.yml new file mode 100644 index 0000000..7bfb84a --- /dev/null +++ b/rulebooks/webhook_log_all.yml @@ -0,0 +1,12 @@ +--- +- name: Webhook rulebook + hosts: all + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: true + action: + debug: From e8eba90e227cdfe2bb2a2c7448b89084dc501678 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 22 Mar 2024 11:40:20 -0400 Subject: [PATCH 081/220] add limit --- rulebooks/46_job_template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/46_job_template.yml b/rulebooks/46_job_template.yml index c39797c..58f9ca4 100644 --- a/rulebooks/46_job_template.yml +++ b/rulebooks/46_job_template.yml @@ -3,7 +3,7 @@ hosts: all sources: - ansible.eda.range: - limit: 10 + limit: "{{ limit | default(3) }}" delay: 30 rules: - name: "Run job template" From a8d7076990b455df158cad44ed5b9dab64a4e5e7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 25 Mar 2024 15:32:37 -0400 Subject: [PATCH 082/220] fixed missing source --- rulebooks/missing_source.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/rulebooks/missing_source.yml b/rulebooks/missing_source.yml index 2eb6b4a..e2c500b 100644 --- a/rulebooks/missing_source.yml +++ b/rulebooks/missing_source.yml @@ -6,12 +6,7 @@ ansible.eda.missing: limit: 5 rules: - - name: "Run job template" + - name: "Debug" condition: event.i == 1 action: - run_job_template: - name: Fail - organization: Default - job_args: - extra_vars: - hello: Fred + debug: From a0fb31015e1addb80f1011203d2e4a4495b7e0b1 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 25 Mar 2024 15:33:54 -0400 Subject: [PATCH 083/220] fixed action --- rulebooks/missing_source.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/missing_source.yml b/rulebooks/missing_source.yml index e2c500b..40ea542 100644 --- a/rulebooks/missing_source.yml +++ b/rulebooks/missing_source.yml @@ -6,7 +6,7 @@ ansible.eda.missing: limit: 5 rules: - - name: "Debug" + - name: Debug condition: event.i == 1 action: debug: From a95f7629ef2891e986852401b8aa97814bccd97c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 9 Apr 2024 12:04:23 -0400 Subject: [PATCH 084/220] chore: add new vault rulebook --- rulebooks/test_extra_var.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 rulebooks/test_extra_var.yml diff --git a/rulebooks/test_extra_var.yml b/rulebooks/test_extra_var.yml new file mode 100644 index 0000000..f667f58 --- /dev/null +++ b/rulebooks/test_extra_var.yml @@ -0,0 +1,26 @@ +--- +- name: Hello with var + hosts: all + sources: + - ansible.eda.range: + limit: 5 + rules: + - name: Say Hello + condition: event.i == 1 + action: + debug: + # qe_test_pass + msg: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 65643038633630663435396331633432343530333834623066373563346533396130356435376535 + 6265653636653932366161643133303961323631633635610a616230363433353063356163333562 + 65363361646632643634396336373065313364393862313135383036353966366632363332343137 + 3965643532356136630a663165616463616463303130623133643436373762363933323736373866 + 35383331663266633134303238373666313864656565383938653633383461653639666234646264 + 3266356436373236623537643266396263626666653265303132 + + - name: Say Hello again + condition: event.i == 2 + action: + debug: + msg: "Hello again {{ my_extra_msg }}" From f041fed6679f270db6bacb0a83da49446bed3534 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 17 Apr 2024 15:11:38 -0400 Subject: [PATCH 085/220] changed delay --- rulebooks/single_rule_with_vaulted_strings.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rulebooks/single_rule_with_vaulted_strings.yml b/rulebooks/single_rule_with_vaulted_strings.yml index f8e666b..47914ab 100644 --- a/rulebooks/single_rule_with_vaulted_strings.yml +++ b/rulebooks/single_rule_with_vaulted_strings.yml @@ -4,6 +4,8 @@ sources: - name: my test source ansible.eda.range: + # vault password: secret + # the value of limit is 5 limit: !vault | $ANSIBLE_VAULT;1.1;AES256 61343164616161376234396238376130303138323439643734386230666130343431623330383935 @@ -11,7 +13,7 @@ 65643365363632313662353861343761633464666431626235643761666436613239386231353164 3733363137646362630a653735346638643131653263663333356164343135633933653362646138 6131 - delay: 20 + delay: 1 rules: - name: myrule1 condition: event.i > 0 From 691d70a8c15d7d64fbb37fdce7f184a337ba0263 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 24 Apr 2024 16:42:19 -0400 Subject: [PATCH 086/220] Added AMZN SQS --- rulebooks/sqs_log_all.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 rulebooks/sqs_log_all.yml diff --git a/rulebooks/sqs_log_all.yml b/rulebooks/sqs_log_all.yml new file mode 100644 index 0000000..b937a2c --- /dev/null +++ b/rulebooks/sqs_log_all.yml @@ -0,0 +1,16 @@ +--- +- name: Amazon SQS Rulebook + hosts: all + sources: + - ansible.eda.aws_sqs_queue: + name: "{{ queue_name }}" + url: "{{ queue_url }}" + delay_seconds: 10 + access_key: "{{ access_key }}" + secret_key: "{{ secret_key }}" + region: "{{ region }}" + rules: + - name: SQS event + condition: true + action: + debug: From 4c88d60a527d50bd94ceb8388484cbe731055885 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 26 Apr 2024 10:53:21 -0400 Subject: [PATCH 087/220] Added SQS Action rulebook --- rulebooks/sqs_action_demo.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 rulebooks/sqs_action_demo.yml diff --git a/rulebooks/sqs_action_demo.yml b/rulebooks/sqs_action_demo.yml new file mode 100644 index 0000000..48027b4 --- /dev/null +++ b/rulebooks/sqs_action_demo.yml @@ -0,0 +1,32 @@ +--- +- name: EC2 SQS Rulebook with Actions + hosts: all + sources: + - ansible.eda.aws_sqs_queue: + name: "{{ queue_name }}" + url: "{{ queue_url }}" + delay_seconds: 10 + access_key: "{{ access_key }}" + secret_key: "{{ secret_key }}" + region: "{{ region }}" + rules: + - name: Debug Action from SQS + condition: event.body.action == "debug" + action: + debug: + - name: Print Action from SQS + condition: event.body.action == "print_event" + action: + print_event: + - name: Job Template Action from SQS + condition: event.body.action == "run_job_template" + action: + run_job_template: + name: Demo Job Template + organization: Default + job_args: + extra_vars: + hello: Fred + retries: 1 + delay: 10 + set_facts: True From 727ae560c7034453229b6cd3a7034cb6adfed9fb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 16 May 2024 11:55:21 -0400 Subject: [PATCH 088/220] typo --- rulebooks/utf_key.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index 480fdbf..46acbc6 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters in conditions +- name: Key with non alphanumeric characters in conditions-1 hosts: all sources: - ansible.eda.generic: From 4055b2c7befd0500df6aba80482c5a1d84cc773f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 16 May 2024 12:06:20 -0400 Subject: [PATCH 089/220] fixed typo --- rulebooks/utf_key.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/utf_key.yml b/rulebooks/utf_key.yml index 46acbc6..480fdbf 100644 --- a/rulebooks/utf_key.yml +++ b/rulebooks/utf_key.yml @@ -1,5 +1,5 @@ --- -- name: Key with non alphanumeric characters in conditions-1 +- name: Key with non alphanumeric characters in conditions hosts: all sources: - ansible.eda.generic: From 85c703c920324d5630626f6a95ad76314a21ea9a Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 17 Jun 2024 16:10:37 -0400 Subject: [PATCH 090/220] add filters to webhook --- rulebooks/webhook_log_all.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rulebooks/webhook_log_all.yml b/rulebooks/webhook_log_all.yml index 7bfb84a..e9ab414 100644 --- a/rulebooks/webhook_log_all.yml +++ b/rulebooks/webhook_log_all.yml @@ -2,9 +2,18 @@ - name: Webhook rulebook hosts: all sources: - - ansible.eda.webhook: + - name: my_github + ansible.eda.webhook: port: 5555 host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - repository.url + - sender.login + - zen + exclude_keys: + - '*' rules: - name: Webhook event condition: true From ac83428c03394fad4d9159757103e881b04b778e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 17 Jun 2024 20:55:12 -0400 Subject: [PATCH 091/220] fixed filters --- rulebooks/webhook_log_all.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/webhook_log_all.yml b/rulebooks/webhook_log_all.yml index e9ab414..b15bd33 100644 --- a/rulebooks/webhook_log_all.yml +++ b/rulebooks/webhook_log_all.yml @@ -9,8 +9,8 @@ filters: - ansible.eda.json_filter: include_keys: - - repository.url - - sender.login + - url + - login - zen exclude_keys: - '*' From ef0631e38cfdacb1d102ba569eff2e8fdae87d1b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 17 Jun 2024 21:10:04 -0400 Subject: [PATCH 092/220] fixed filters --- rulebooks/webhook_log_all.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rulebooks/webhook_log_all.yml b/rulebooks/webhook_log_all.yml index b15bd33..8b90433 100644 --- a/rulebooks/webhook_log_all.yml +++ b/rulebooks/webhook_log_all.yml @@ -9,7 +9,12 @@ filters: - ansible.eda.json_filter: include_keys: + - repository + - name + - full_name - url + - sender + - login - login - zen exclude_keys: From 900a7d54ae7c9b980cdedfdd6e4d452047c301cf Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 17 Jun 2024 21:14:24 -0400 Subject: [PATCH 093/220] added new rulebook --- rulebooks/webhook_log_all_filter2.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rulebooks/webhook_log_all_filter2.yml diff --git a/rulebooks/webhook_log_all_filter2.yml b/rulebooks/webhook_log_all_filter2.yml new file mode 100644 index 0000000..5451f01 --- /dev/null +++ b/rulebooks/webhook_log_all_filter2.yml @@ -0,0 +1,23 @@ +--- +- name: Webhook rulebook with different filter + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - sender + - login + - id + - node_id + - site_admin + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: From 08e40f48c1857d7620e2c98de0bf0419e8db227d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 19 Jun 2024 11:44:07 -0400 Subject: [PATCH 094/220] added github_snow rulebook --- rulebooks/webhook_github_snow.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 rulebooks/webhook_github_snow.yml diff --git a/rulebooks/webhook_github_snow.yml b/rulebooks/webhook_github_snow.yml new file mode 100644 index 0000000..fe93ff0 --- /dev/null +++ b/rulebooks/webhook_github_snow.yml @@ -0,0 +1,30 @@ +--- +- name: Webhook rulebook + hosts: all + sources: + - name: my_snow + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - repository + - name + - full_name + - url + - sender + - login + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: From 4b645f3d7766dabb9180a6933ce46df250beeec9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 19 Jun 2024 12:48:54 -0400 Subject: [PATCH 095/220] added filters for snow --- rulebooks/webhook_github_snow.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rulebooks/webhook_github_snow.yml b/rulebooks/webhook_github_snow.yml index fe93ff0..7fc49d7 100644 --- a/rulebooks/webhook_github_snow.yml +++ b/rulebooks/webhook_github_snow.yml @@ -6,6 +6,16 @@ ansible.eda.webhook: port: 5555 host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - approval + - sys_class_name + - sys_created_by + - category + - urgency + exclude_keys: + - '*' - name: my_github ansible.eda.webhook: port: 5555 From 46c9aba39d1fa1cf2ae98a574d5e7f092b8e3c7c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 19 Jun 2024 13:56:56 -0400 Subject: [PATCH 096/220] added no filter --- rulebooks/webhook_log_all_no_filter.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/webhook_log_all_no_filter.yml diff --git a/rulebooks/webhook_log_all_no_filter.yml b/rulebooks/webhook_log_all_no_filter.yml new file mode 100644 index 0000000..aebd160 --- /dev/null +++ b/rulebooks/webhook_log_all_no_filter.yml @@ -0,0 +1,13 @@ +--- +- name: Webhook rulebook + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: true + action: + debug: From 430579d3b6e358ace088fed2e49a496e3c9be3b4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 21 Jun 2024 09:43:05 -0400 Subject: [PATCH 097/220] added demo workflow template --- rulebooks/demo_workflow_template.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 rulebooks/demo_workflow_template.yml diff --git a/rulebooks/demo_workflow_template.yml b/rulebooks/demo_workflow_template.yml new file mode 100644 index 0000000..54b0daa --- /dev/null +++ b/rulebooks/demo_workflow_template.yml @@ -0,0 +1,19 @@ +--- +- name: Test run workflow templates + hosts: all + sources: + - range: + limit: 5 + rules: + - name: "Run workflow template" + condition: event.i == 1 + action: + run_workflow_template: + name: Demo Workflow Template + job_args: + extra_vars: + hello: Fred + retries: 1 + delay: 10 + set_facts: True + organization: Default From b988aaba83c0b60b7b95ecc587401231599eccb8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 21 Jun 2024 09:58:35 -0400 Subject: [PATCH 098/220] added demo workflow template --- rulebooks/demo_workflow_template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_workflow_template.yml b/rulebooks/demo_workflow_template.yml index 54b0daa..53a2893 100644 --- a/rulebooks/demo_workflow_template.yml +++ b/rulebooks/demo_workflow_template.yml @@ -2,7 +2,7 @@ - name: Test run workflow templates hosts: all sources: - - range: + - ansible.eda.range: limit: 5 rules: - name: "Run workflow template" From c1129c430db4775a5d68f4b6ad89d0452f861ffb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 26 Jun 2024 17:45:41 -0400 Subject: [PATCH 099/220] fixed payload --- rulebooks/webhook_log_all_filter2.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/webhook_log_all_filter2.yml b/rulebooks/webhook_log_all_filter2.yml index 5451f01..dad810f 100644 --- a/rulebooks/webhook_log_all_filter2.yml +++ b/rulebooks/webhook_log_all_filter2.yml @@ -9,6 +9,7 @@ filters: - ansible.eda.json_filter: include_keys: + - payload - sender - login - id From 2df4690b94c768cd8dbf787638d32b1140d352c4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 26 Jun 2024 17:47:47 -0400 Subject: [PATCH 100/220] added payload --- rulebooks/webhook_github_snow.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rulebooks/webhook_github_snow.yml b/rulebooks/webhook_github_snow.yml index 7fc49d7..a0cde25 100644 --- a/rulebooks/webhook_github_snow.yml +++ b/rulebooks/webhook_github_snow.yml @@ -9,6 +9,7 @@ filters: - ansible.eda.json_filter: include_keys: + - payload - approval - sys_class_name - sys_created_by @@ -23,6 +24,7 @@ filters: - ansible.eda.json_filter: include_keys: + - payload - repository - name - full_name From f0b5d2959eeaffca4bea1b510b7b34f3589cfda7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 1 Jul 2024 21:20:50 -0400 Subject: [PATCH 101/220] added_payload_file --- rulebooks/test_payload_file.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 rulebooks/test_payload_file.yml diff --git a/rulebooks/test_payload_file.yml b/rulebooks/test_payload_file.yml new file mode 100644 index 0000000..a6404e9 --- /dev/null +++ b/rulebooks/test_payload_file.yml @@ -0,0 +1,11 @@ +--- +- name: Use payload file to check events + hosts: all + sources: + - ansible.eda.generic: + payload_file: "{{ eda.template.test_payload_file }}" + rules: + - name: Compare event + condition: true + action: + debug: From 67822b3bfe03388c1a92744072b9fc5ff74c49d3 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 1 Jul 2024 21:28:50 -0400 Subject: [PATCH 102/220] added Fred --- rulebooks/test_payload_file.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/rulebooks/test_payload_file.yml b/rulebooks/test_payload_file.yml index a6404e9..23ff947 100644 --- a/rulebooks/test_payload_file.yml +++ b/rulebooks/test_payload_file.yml @@ -5,7 +5,15 @@ - ansible.eda.generic: payload_file: "{{ eda.template.test_payload_file }}" rules: - - name: Compare event - condition: true + - name: Fred Flintstone + condition: event.name == "Fred Flintstone" + action: + debug: + - name: Wilma Flintstone + condition: event.name == "Wilma Flintstone" + action: + debug: + - name: Barney Rubble + condition: event.name == "Barney Rubble" action: debug: From 764cab68eae11921c84afa5c7fcb13d11e2d38b0 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 2 Jul 2024 09:18:39 -0400 Subject: [PATCH 103/220] use vars --- rulebooks/test_payload_file.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rulebooks/test_payload_file.yml b/rulebooks/test_payload_file.yml index 23ff947..f13c272 100644 --- a/rulebooks/test_payload_file.yml +++ b/rulebooks/test_payload_file.yml @@ -5,15 +5,15 @@ - ansible.eda.generic: payload_file: "{{ eda.template.test_payload_file }}" rules: - - name: Fred Flintstone - condition: event.name == "Fred Flintstone" + - name: "{{ friend1 }} rule" + condition: event.name == vars.friend1 action: debug: - - name: Wilma Flintstone - condition: event.name == "Wilma Flintstone" + - name: "{{ friend2 }} rule" + condition: event.name == vars.friend2 action: debug: - - name: Barney Rubble - condition: event.name == "Barney Rubble" + - name: "{{ friend3 }} rule" + condition: event.name == vars.friend3 action: debug: From c899e2f67b3de84028a9423bb141935000eac206 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 2 Jul 2024 09:51:28 -0400 Subject: [PATCH 104/220] Static rule names --- rulebooks/test_payload_file.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/test_payload_file.yml b/rulebooks/test_payload_file.yml index f13c272..1d728c1 100644 --- a/rulebooks/test_payload_file.yml +++ b/rulebooks/test_payload_file.yml @@ -5,15 +5,15 @@ - ansible.eda.generic: payload_file: "{{ eda.template.test_payload_file }}" rules: - - name: "{{ friend1 }} rule" + - name: Rule1 condition: event.name == vars.friend1 action: debug: - - name: "{{ friend2 }} rule" + - name: Rule2 condition: event.name == vars.friend2 action: debug: - - name: "{{ friend3 }} rule" + - name: Rule3 condition: event.name == vars.friend3 action: debug: From a01703bd1695e74a2eb3af435e65fb3bd944f001 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 5 Jul 2024 16:48:06 -0400 Subject: [PATCH 105/220] changed to filename --- rulebooks/test_payload_file.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/test_payload_file.yml b/rulebooks/test_payload_file.yml index 1d728c1..a996a81 100644 --- a/rulebooks/test_payload_file.yml +++ b/rulebooks/test_payload_file.yml @@ -3,7 +3,7 @@ hosts: all sources: - ansible.eda.generic: - payload_file: "{{ eda.template.test_payload_file }}" + payload_file: "{{ eda.filename.test_payload_file }}" rules: - name: Rule1 condition: event.name == vars.friend1 From 40d0256340d50f6c5fffd6416e291a95a6f1fa12 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 20 Jul 2024 09:47:18 -0400 Subject: [PATCH 106/220] added timed test --- rulebooks/timed_test.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/timed_test.yml diff --git a/rulebooks/timed_test.yml b/rulebooks/timed_test.yml new file mode 100644 index 0000000..7860cf0 --- /dev/null +++ b/rulebooks/timed_test.yml @@ -0,0 +1,18 @@ +--- +- name: Runs for some preset minutes + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: "{{ limit| 20 }}" + delay: "{{ delay| 30 }}" + rules: + - name: rule with 1 action + condition: event.i > 0 + actions: + - debug: + msg: + - debug message 1 + - debug message 2 + - print_event: + pretty: true From 2b7a59fa60f71b47b9ee9417d5dd0dd9d353a8a5 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 20 Jul 2024 09:56:36 -0400 Subject: [PATCH 107/220] fixed default --- rulebooks/timed_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/timed_test.yml b/rulebooks/timed_test.yml index 7860cf0..f519918 100644 --- a/rulebooks/timed_test.yml +++ b/rulebooks/timed_test.yml @@ -4,8 +4,8 @@ sources: - name: my test source ansible.eda.range: - limit: "{{ limit| 20 }}" - delay: "{{ delay| 30 }}" + limit: "{{ limit | default('20') }}" + delay: "{{ delay | default('30') }}" rules: - name: rule with 1 action condition: event.i > 0 From 4dca629ae31e0bbcae357737271494f56e3e8607 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 24 Jul 2024 09:25:00 -0400 Subject: [PATCH 108/220] added multi ruleset --- rulebooks/webhook_github_snow.yml | 2 +- .../webhook_github_snow_multi_ruleset.yml | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 rulebooks/webhook_github_snow_multi_ruleset.yml diff --git a/rulebooks/webhook_github_snow.yml b/rulebooks/webhook_github_snow.yml index a0cde25..d3f753b 100644 --- a/rulebooks/webhook_github_snow.yml +++ b/rulebooks/webhook_github_snow.yml @@ -19,7 +19,7 @@ - '*' - name: my_github ansible.eda.webhook: - port: 5555 + port: 5556 host: 0.0.0.0 filters: - ansible.eda.json_filter: diff --git a/rulebooks/webhook_github_snow_multi_ruleset.yml b/rulebooks/webhook_github_snow_multi_ruleset.yml new file mode 100644 index 0000000..af5e90e --- /dev/null +++ b/rulebooks/webhook_github_snow_multi_ruleset.yml @@ -0,0 +1,51 @@ +--- +- name: Github Webhook Ruleset + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - repository + - name + - full_name + - url + - sender + - login + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: + +- name: SNOW Webhook Ruleset + hosts: all + sources: + - name: my_snow + ansible.eda.webhook: + port: 5556 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - approval + - sys_class_name + - sys_created_by + - category + - urgency + exclude_keys: + - '*' + rules: + - name: Snow webhook event + condition: true + action: + debug: From e0180b58c7f8e436b638beb80be64e8d45d3ffc5 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 28 Jul 2024 20:33:54 -0400 Subject: [PATCH 109/220] added no_name.yml --- rulebooks/no_name.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 rulebooks/no_name.yml diff --git a/rulebooks/no_name.yml b/rulebooks/no_name.yml new file mode 100644 index 0000000..d4cf5ff --- /dev/null +++ b/rulebooks/no_name.yml @@ -0,0 +1,25 @@ +--- +- name: Where the source have no names + hosts: all + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - repository + - name + - full_name + - url + - sender + - login + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: From bf834e3d5f1342acac4a0898ab61799c32a87265 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 28 Jul 2024 21:36:17 -0400 Subject: [PATCH 110/220] Add payload to filter --- rulebooks/no_name.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/no_name.yml b/rulebooks/no_name.yml index d4cf5ff..a61c275 100644 --- a/rulebooks/no_name.yml +++ b/rulebooks/no_name.yml @@ -8,6 +8,7 @@ filters: - ansible.eda.json_filter: include_keys: + - payload - repository - name - full_name From bae24f2357d2e2c00ee47d91ed1c6a5302c0ace9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 7 Aug 2024 20:34:08 -0400 Subject: [PATCH 111/220] add multi rulebooks --- rulebooks/duplicate_names.yml | 42 +++++++++++++++++++++++++++++++++++ rulebooks/no_names.yml | 39 ++++++++++++++++++++++++++++++++ rulebooks/with_names.yml | 42 +++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 rulebooks/duplicate_names.yml create mode 100644 rulebooks/no_names.yml create mode 100644 rulebooks/with_names.yml diff --git a/rulebooks/duplicate_names.yml b/rulebooks/duplicate_names.yml new file mode 100644 index 0000000..af80df2 --- /dev/null +++ b/rulebooks/duplicate_names.yml @@ -0,0 +1,42 @@ +--- +- name: Rulebook with duplicate names + hosts: all + sources: + - name: my_source + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - approval + - sys_class_name + - sys_created_by + - category + - urgency + exclude_keys: + - '*' + - name: my_source + ansible.eda.webhook: + port: 5556 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - repository + - name + - full_name + - url + - sender + - login + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: diff --git a/rulebooks/no_names.yml b/rulebooks/no_names.yml new file mode 100644 index 0000000..21a11d5 --- /dev/null +++ b/rulebooks/no_names.yml @@ -0,0 +1,39 @@ +--- +- name: Where the sources have no names + hosts: all + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - approval + - sys_class_name + - sys_created_by + - category + - urgency + exclude_keys: + - '*' + - ansible.eda.webhook: + port: 5556 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - repository + - name + - full_name + - url + - sender + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: diff --git a/rulebooks/with_names.yml b/rulebooks/with_names.yml new file mode 100644 index 0000000..3090544 --- /dev/null +++ b/rulebooks/with_names.yml @@ -0,0 +1,42 @@ +--- +- name: Webhook rulebook with distinct names + hosts: all + sources: + - name: my_snow + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - approval + - sys_class_name + - sys_created_by + - category + - urgency + exclude_keys: + - '*' + - name: my_github + ansible.eda.webhook: + port: 5556 + host: 0.0.0.0 + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - repository + - name + - full_name + - url + - sender + - login + - login + - zen + exclude_keys: + - '*' + rules: + - name: Webhook event + condition: true + action: + debug: From 3f1da56641ba3b2dd81d5dcd9dcaf68ff5f73259 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 8 Aug 2024 13:29:06 -0400 Subject: [PATCH 112/220] webhook with token --- rulebooks/webhook_with_token.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rulebooks/webhook_with_token.yml diff --git a/rulebooks/webhook_with_token.yml b/rulebooks/webhook_with_token.yml new file mode 100644 index 0000000..412ce1b --- /dev/null +++ b/rulebooks/webhook_with_token.yml @@ -0,0 +1,24 @@ +--- +- name: Wilmas webhook rulebook + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + token: "{{ webhook_token }}" + rules: + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + print_event: + - name: Broadcast in wilmas rulebook + condition: event.payload.broadcast + action: + debug: + msg: "PSA ({ event.payload.message }}" + - name: Shutdown + condition: event.payload.shutdown and event.payload.name == "Wilma" + action: + shutdown: + message: "Shutting down Wilma's activation" From cd6f6c7168a786a10c5698aacf3e7cef8b90dcb4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 8 Aug 2024 16:11:49 -0400 Subject: [PATCH 113/220] hmac_webhook --- rulebooks/webhook_with_hmac.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/webhook_with_hmac.yml diff --git a/rulebooks/webhook_with_hmac.yml b/rulebooks/webhook_with_hmac.yml new file mode 100644 index 0000000..af8ee6e --- /dev/null +++ b/rulebooks/webhook_with_hmac.yml @@ -0,0 +1,27 @@ +--- +- name: Wilmas webhook rulebook with HMAC + hosts: all + match_multiple_rules: true + sources: + - ansible.eda.webhook: + port: 6666 + host: 0.0.0.0 + hmac_secret: "{{ hmac_secret }}" + hmac_algo: "{{ hmac_algo | default('sha256') }}" + hmac_header: "{{ hmac_header | default('x-hub-signature-256') }}" + hmac_format: "{{ hmac_format | default('hex') }}" + rules: + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + print_event: + - name: Broadcast in wilmas rulebook + condition: event.payload.broadcast + action: + debug: + msg: "PSA ({ event.payload.message }}" + - name: Shutdown + condition: event.payload.shutdown and event.payload.name == "Wilma" + action: + shutdown: + message: "Shutting down Wilma's activation" From 0b6d42991a88f48d71a73f3373bdc69ca2bac10f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 9 Aug 2024 10:22:58 -0400 Subject: [PATCH 114/220] chore: fixed action name --- rulebooks/webhook_with_hmac.yml | 2 +- rulebooks/webhook_with_token.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/webhook_with_hmac.yml b/rulebooks/webhook_with_hmac.yml index af8ee6e..56f58ae 100644 --- a/rulebooks/webhook_with_hmac.yml +++ b/rulebooks/webhook_with_hmac.yml @@ -14,7 +14,7 @@ - name: Wilma's rule condition: event.payload.name == "Wilma" action: - print_event: + none: - name: Broadcast in wilmas rulebook condition: event.payload.broadcast action: diff --git a/rulebooks/webhook_with_token.yml b/rulebooks/webhook_with_token.yml index 412ce1b..22de7f4 100644 --- a/rulebooks/webhook_with_token.yml +++ b/rulebooks/webhook_with_token.yml @@ -11,7 +11,7 @@ - name: Wilma's rule condition: event.payload.name == "Wilma" action: - print_event: + none: - name: Broadcast in wilmas rulebook condition: event.payload.broadcast action: From 02f8187dea780666df34fa137c2d7b6c2af8ecce Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 9 Aug 2024 13:08:21 -0400 Subject: [PATCH 115/220] Removed match multiple rules --- rulebooks/webhook_with_hmac.yml | 1 - rulebooks/webhook_with_token.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/rulebooks/webhook_with_hmac.yml b/rulebooks/webhook_with_hmac.yml index 56f58ae..56dd629 100644 --- a/rulebooks/webhook_with_hmac.yml +++ b/rulebooks/webhook_with_hmac.yml @@ -1,7 +1,6 @@ --- - name: Wilmas webhook rulebook with HMAC hosts: all - match_multiple_rules: true sources: - ansible.eda.webhook: port: 6666 diff --git a/rulebooks/webhook_with_token.yml b/rulebooks/webhook_with_token.yml index 22de7f4..654679d 100644 --- a/rulebooks/webhook_with_token.yml +++ b/rulebooks/webhook_with_token.yml @@ -1,7 +1,6 @@ --- - name: Wilmas webhook rulebook hosts: all - match_multiple_rules: true sources: - ansible.eda.webhook: port: 5555 From cecf2e49acd271b6797471c8d1c77aed19d1af06 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 10 Aug 2024 18:20:15 -0400 Subject: [PATCH 116/220] reordered_rules --- rulebooks/webhook_with_hmac.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rulebooks/webhook_with_hmac.yml b/rulebooks/webhook_with_hmac.yml index 56dd629..c8bf1a2 100644 --- a/rulebooks/webhook_with_hmac.yml +++ b/rulebooks/webhook_with_hmac.yml @@ -10,6 +10,11 @@ hmac_header: "{{ hmac_header | default('x-hub-signature-256') }}" hmac_format: "{{ hmac_format | default('hex') }}" rules: + - name: Shutdown + condition: event.payload.shutdown + action: + shutdown: + message: "Shutting down activation" - name: Wilma's rule condition: event.payload.name == "Wilma" action: @@ -19,8 +24,3 @@ action: debug: msg: "PSA ({ event.payload.message }}" - - name: Shutdown - condition: event.payload.shutdown and event.payload.name == "Wilma" - action: - shutdown: - message: "Shutting down Wilma's activation" From 0f98f4fa989874113e392e9cf23884e1e2b9a69e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 10 Aug 2024 18:55:08 -0400 Subject: [PATCH 117/220] moved up rules --- rulebooks/webhook_with_token.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rulebooks/webhook_with_token.yml b/rulebooks/webhook_with_token.yml index 654679d..5594b89 100644 --- a/rulebooks/webhook_with_token.yml +++ b/rulebooks/webhook_with_token.yml @@ -7,6 +7,11 @@ host: 0.0.0.0 token: "{{ webhook_token }}" rules: + - name: Shutdown + condition: event.payload.shutdown + action: + shutdown: + message: "Shutting down activation" - name: Wilma's rule condition: event.payload.name == "Wilma" action: @@ -16,8 +21,3 @@ action: debug: msg: "PSA ({ event.payload.message }}" - - name: Shutdown - condition: event.payload.shutdown and event.payload.name == "Wilma" - action: - shutdown: - message: "Shutting down Wilma's activation" From 34ff8530e72529b108f39e158259ecd40bb4a969 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 10 Aug 2024 19:00:04 -0400 Subject: [PATCH 118/220] changed title --- rulebooks/webhook_with_token.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_with_token.yml b/rulebooks/webhook_with_token.yml index 5594b89..3b2d86a 100644 --- a/rulebooks/webhook_with_token.yml +++ b/rulebooks/webhook_with_token.yml @@ -1,5 +1,5 @@ --- -- name: Wilmas webhook rulebook +- name: Wilmas webhook rulebook with Token hosts: all sources: - ansible.eda.webhook: From 660d817c84fe152842d88aa010ef4a9eb2935e86 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 11 Aug 2024 14:40:24 -0400 Subject: [PATCH 119/220] multi sources --- rulebooks/webhook_with_filter.yml | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 rulebooks/webhook_with_filter.yml diff --git a/rulebooks/webhook_with_filter.yml b/rulebooks/webhook_with_filter.yml new file mode 100644 index 0000000..87f609f --- /dev/null +++ b/rulebooks/webhook_with_filter.yml @@ -0,0 +1,55 @@ +--- +- name: Webhook rulebook with HMAC and other sources + hosts: all + sources: + - ansible.eda.generic: + loop_delay: 60 + payload: + - i : 1 + - i : 2 + - i : 3 + - ansible.eda.webhook: + port: 6666 + host: 0.0.0.0 + hmac_secret: "{{ hmac_secret }}" + hmac_algo: "{{ hmac_algo | default('sha256') }}" + hmac_header: "{{ hmac_header | default('x-hub-signature-256') }}" + hmac_format: "{{ hmac_format | default('hex') }}" + filters: + - ansible.eda.json_filter: + include_keys: + - payload + - name + - shutdown + - sequence + exclude_keys: + - '*' + - ansible.eda.generic: + loop_delay: 90 + payload: + - name : Fred + - name : Barney + + rules: + - name: Shutdown + condition: event.payload.shutdown + action: + shutdown: + message: "Shutting down activation" + - name: Fred's rule + condition: event.name == 'Fred' + action: + debug: + - name: Check i is 1 + condition: event.i == 1 + action: + print_event: + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + none: + - name: Broadcast + condition: event.payload.broadcast + action: + debug: + msg: "PSA ({ event.payload.message }}" From 6875e9b1e18ee9a2685290a02ff8c1c599ac12e7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 11 Aug 2024 14:48:45 -0400 Subject: [PATCH 120/220] test --- rulebooks/webhook_with_filter.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/webhook_with_filter.yml b/rulebooks/webhook_with_filter.yml index 87f609f..3494797 100644 --- a/rulebooks/webhook_with_filter.yml +++ b/rulebooks/webhook_with_filter.yml @@ -3,7 +3,7 @@ hosts: all sources: - ansible.eda.generic: - loop_delay: 60 + event_delay: 60 payload: - i : 1 - i : 2 @@ -25,7 +25,7 @@ exclude_keys: - '*' - ansible.eda.generic: - loop_delay: 90 + event_delay: 90 payload: - name : Fred - name : Barney From ba71fc069940eb0b3486c0a2266b6facd80d8270 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 11 Aug 2024 14:51:34 -0400 Subject: [PATCH 121/220] test --- rulebooks/webhook_with_no_filters.yml | 46 +++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 rulebooks/webhook_with_no_filters.yml diff --git a/rulebooks/webhook_with_no_filters.yml b/rulebooks/webhook_with_no_filters.yml new file mode 100644 index 0000000..146c6e5 --- /dev/null +++ b/rulebooks/webhook_with_no_filters.yml @@ -0,0 +1,46 @@ +--- +- name: Webhook rulebook with HMAC and other sources no filters + hosts: all + sources: + - ansible.eda.generic: + event_delay: 60 + payload: + - i : 1 + - i : 2 + - i : 3 + - ansible.eda.webhook: + port: 6666 + host: 0.0.0.0 + hmac_secret: "{{ hmac_secret }}" + hmac_algo: "{{ hmac_algo | default('sha256') }}" + hmac_header: "{{ hmac_header | default('x-hub-signature-256') }}" + hmac_format: "{{ hmac_format | default('hex') }}" + - ansible.eda.generic: + event_delay: 90 + payload: + - name : Fred + - name : Barney + + rules: + - name: Shutdown + condition: event.payload.shutdown + action: + shutdown: + message: "Shutting down activation" + - name: Fred's rule + condition: event.name == 'Fred' + action: + debug: + - name: Check i is 1 + condition: event.i == 1 + action: + print_event: + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + none: + - name: Broadcast + condition: event.payload.broadcast + action: + debug: + msg: "PSA ({ event.payload.message }}" From dafbbc51917b6b6a099fba0a3b2927cf58b46390 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 11 Aug 2024 14:59:00 -0400 Subject: [PATCH 122/220] test --- rulebooks/webhook_with_filter.yml | 1 + rulebooks/webhook_with_no_filters.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/rulebooks/webhook_with_filter.yml b/rulebooks/webhook_with_filter.yml index 3494797..7e5028f 100644 --- a/rulebooks/webhook_with_filter.yml +++ b/rulebooks/webhook_with_filter.yml @@ -36,6 +36,7 @@ action: shutdown: message: "Shutting down activation" + delay: 1 - name: Fred's rule condition: event.name == 'Fred' action: diff --git a/rulebooks/webhook_with_no_filters.yml b/rulebooks/webhook_with_no_filters.yml index 146c6e5..d068918 100644 --- a/rulebooks/webhook_with_no_filters.yml +++ b/rulebooks/webhook_with_no_filters.yml @@ -27,6 +27,7 @@ action: shutdown: message: "Shutting down activation" + delay: 1 - name: Fred's rule condition: event.name == 'Fred' action: From 8d3dfb11a515d18e7d9d0f2057f3ba25e9b1a3ee Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 12 Aug 2024 14:22:01 -0400 Subject: [PATCH 123/220] demo webhook --- rulebooks/demo_webhook_rulebook.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rulebooks/demo_webhook_rulebook.yml diff --git a/rulebooks/demo_webhook_rulebook.yml b/rulebooks/demo_webhook_rulebook.yml new file mode 100644 index 0000000..fe861fc --- /dev/null +++ b/rulebooks/demo_webhook_rulebook.yml @@ -0,0 +1,24 @@ +--- +# This rulebook is for demo purposes only +# This webhook listens on port 5555 by default, +# you can override it by passing in an extravar +# called port. If you have other webhook sources +# running on the default port 5555 you might see +# port conflicts. +# It logs every event received so it should work +# with any vendors payload. +# It doesn't use authentication to keep things simple +# +- name: Webhook demo prints all incoming events + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Webhook rule + condition: true + action: + print_event: + pretty: true +... From bc033b5ab9f96282fc24fe20d0fe7a178865a329 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 12 Aug 2024 20:31:23 -0400 Subject: [PATCH 124/220] none action --- rulebooks/demo_webhook_none_action.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rulebooks/demo_webhook_none_action.yml diff --git a/rulebooks/demo_webhook_none_action.yml b/rulebooks/demo_webhook_none_action.yml new file mode 100644 index 0000000..2c89b09 --- /dev/null +++ b/rulebooks/demo_webhook_none_action.yml @@ -0,0 +1,23 @@ +--- +# This rulebook is for demo purposes only +# This webhook listens on port 5555 by default, +# you can override it by passing in an extravar +# called port. If you have other webhook sources +# running on the default port 5555 you might see +# port conflicts. +# It logs every event received so it should work +# with any vendors payload. +# It doesn't use authentication to keep things simple +# +- name: Webhook demo prints all incoming events + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Webhook rule + condition: true + action: + none: +... From 1a480084993117b9e5c06e22d416c82430e65016 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 12:54:56 -0400 Subject: [PATCH 125/220] added github webhook --- rulebooks/webhook_github.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/webhook_github.yml diff --git a/rulebooks/webhook_github.yml b/rulebooks/webhook_github.yml new file mode 100644 index 0000000..5e277b2 --- /dev/null +++ b/rulebooks/webhook_github.yml @@ -0,0 +1,13 @@ +--- +- name: Webhook with github + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5556 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: true + action: + debug: From ed15ffc3af192b099890c2faf925de2492bc0d2c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 12:59:05 -0400 Subject: [PATCH 126/220] updated --- rulebooks/webhook_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_github.yml b/rulebooks/webhook_github.yml index 5e277b2..2369d24 100644 --- a/rulebooks/webhook_github.yml +++ b/rulebooks/webhook_github.yml @@ -10,4 +10,4 @@ - name: Webhook event condition: true action: - debug: + print_event: From 0e3a5f74e1a192cbe7673e1f2bbe479248e3ecd2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 13:13:36 -0400 Subject: [PATCH 127/220] Demo --- rulebooks/webhook_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_github.yml b/rulebooks/webhook_github.yml index 2369d24..5e277b2 100644 --- a/rulebooks/webhook_github.yml +++ b/rulebooks/webhook_github.yml @@ -10,4 +10,4 @@ - name: Webhook event condition: true action: - print_event: + debug: From ca72b4e8322ac688e73e6b5d35c78d5d230ff0a4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 13:31:46 -0400 Subject: [PATCH 128/220] updated action --- rulebooks/demo_webhook_rulebook.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rulebooks/demo_webhook_rulebook.yml b/rulebooks/demo_webhook_rulebook.yml index fe861fc..05e3b16 100644 --- a/rulebooks/demo_webhook_rulebook.yml +++ b/rulebooks/demo_webhook_rulebook.yml @@ -19,6 +19,5 @@ - name: Webhook rule condition: true action: - print_event: - pretty: true + debug: ... From 6d1bd39dc9584d0fbe16a08322007364efd9fc70 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 13:54:09 -0400 Subject: [PATCH 129/220] Updated --- rulebooks/webhook_github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_github.yml b/rulebooks/webhook_github.yml index 5e277b2..2369d24 100644 --- a/rulebooks/webhook_github.yml +++ b/rulebooks/webhook_github.yml @@ -10,4 +10,4 @@ - name: Webhook event condition: true action: - debug: + print_event: From de32a8d601c7e75908c2c613320f3b89094d46ee Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 13:55:20 -0400 Subject: [PATCH 130/220] Updated --- rulebooks/demo_webhook_rulebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_webhook_rulebook.yml b/rulebooks/demo_webhook_rulebook.yml index 05e3b16..3e75486 100644 --- a/rulebooks/demo_webhook_rulebook.yml +++ b/rulebooks/demo_webhook_rulebook.yml @@ -19,5 +19,5 @@ - name: Webhook rule condition: true action: - debug: + print_event: ... From a83fc01cf77de8c0c4ab1be931bd998c961e2a04 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 14:05:15 -0400 Subject: [PATCH 131/220] updated --- rulebooks/demo_webhook_rulebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_webhook_rulebook.yml b/rulebooks/demo_webhook_rulebook.yml index 3e75486..05e3b16 100644 --- a/rulebooks/demo_webhook_rulebook.yml +++ b/rulebooks/demo_webhook_rulebook.yml @@ -19,5 +19,5 @@ - name: Webhook rule condition: true action: - print_event: + debug: ... From 45e984e196c97c0fd8afe0e5a31bb1f80f55ca18 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 14:12:45 -0400 Subject: [PATCH 132/220] updated --- rulebooks/demo_webhook_rulebook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_webhook_rulebook.yml b/rulebooks/demo_webhook_rulebook.yml index 05e3b16..3e75486 100644 --- a/rulebooks/demo_webhook_rulebook.yml +++ b/rulebooks/demo_webhook_rulebook.yml @@ -19,5 +19,5 @@ - name: Webhook rule condition: true action: - debug: + print_event: ... From 645f4c8e781c816e9af3662c449fd341a86ba486 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 15:11:03 -0400 Subject: [PATCH 133/220] changed --- rulebooks/10_minute.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/rulebooks/10_minute.yml b/rulebooks/10_minute.yml index 91bb0cb..51b15cc 100644 --- a/rulebooks/10_minute.yml +++ b/rulebooks/10_minute.yml @@ -10,9 +10,5 @@ - name: rule with 1 action condition: event.i > 0 actions: - - debug: - msg: - - debug message 1 - - debug message 2 - print_event: pretty: true From ffcd550e22a2439fdecfc714c4e5747e6089226e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 15:44:50 -0400 Subject: [PATCH 134/220] updated --- rulebooks/10_minute.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/10_minute.yml b/rulebooks/10_minute.yml index 51b15cc..78903f2 100644 --- a/rulebooks/10_minute.yml +++ b/rulebooks/10_minute.yml @@ -12,3 +12,4 @@ actions: - print_event: pretty: true + - debug: From bbd64ca262d6ba1e811e3f0e306e82dbcc2d81db Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 16:06:24 -0400 Subject: [PATCH 135/220] updates --- rulebooks/10_minute.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/rulebooks/10_minute.yml b/rulebooks/10_minute.yml index 78903f2..51b15cc 100644 --- a/rulebooks/10_minute.yml +++ b/rulebooks/10_minute.yml @@ -12,4 +12,3 @@ actions: - print_event: pretty: true - - debug: From 4794182ecf5fa3a6a706f5fc4059e3d4a8f06e40 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 20 Aug 2024 16:17:19 -0400 Subject: [PATCH 136/220] update message --- rulebooks/10_minute.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/10_minute.yml b/rulebooks/10_minute.yml index 51b15cc..78903f2 100644 --- a/rulebooks/10_minute.yml +++ b/rulebooks/10_minute.yml @@ -12,3 +12,4 @@ actions: - print_event: pretty: true + - debug: From 616f14cce386068c0945f00b8d115999d0439d97 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 27 Aug 2024 10:11:17 -0400 Subject: [PATCH 137/220] added rulebook with shutdown --- rulebooks/webhook_with_shutdown.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 rulebooks/webhook_with_shutdown.yml diff --git a/rulebooks/webhook_with_shutdown.yml b/rulebooks/webhook_with_shutdown.yml new file mode 100644 index 0000000..c032422 --- /dev/null +++ b/rulebooks/webhook_with_shutdown.yml @@ -0,0 +1,22 @@ +--- +- name: Webhook rulebook with Shutdown + hosts: all + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Shutdown + condition: event.payload.shutdown + action: + shutdown: + message: "Shutting down activation" + - name: Wilma's rule + condition: event.payload.name == "Wilma" + action: + none: + - name: Broadcast in wilmas rulebook + condition: event.payload.broadcast + action: + debug: + msg: "PSA ({ event.payload.message }}" From def45fb2e6b5dbdd1c155c75da1aefce5a522275 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 28 Aug 2024 21:52:11 -0400 Subject: [PATCH 138/220] hackathon.yml --- rulebooks/hackathon.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 rulebooks/hackathon.yml diff --git a/rulebooks/hackathon.yml b/rulebooks/hackathon.yml new file mode 100644 index 0000000..b4e6fac --- /dev/null +++ b/rulebooks/hackathon.yml @@ -0,0 +1,18 @@ +--- +- name: EDA Hackathon Rulebook + hosts: localhost + sources: + - name: listen for alerts + ansible.eda.alertmanager: + host: 0.0.0.0 + port: 5000 + rules: + - name: server down + condition: event.payload.alert.labels.job == "server" and event.payload.alert.status == "firing" + action: + run_job_template: + organization: Default + name: "{{ job_template_name }}" + job_args: + extra_vars: + job_template_name: "{{ job_template_name }}" From 8181063a2c12c87a6de61e25a0ad61106af398fb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 28 Aug 2024 21:59:43 -0400 Subject: [PATCH 139/220] fix condition --- rulebooks/hackathon.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/hackathon.yml b/rulebooks/hackathon.yml index b4e6fac..55080a8 100644 --- a/rulebooks/hackathon.yml +++ b/rulebooks/hackathon.yml @@ -8,7 +8,7 @@ port: 5000 rules: - name: server down - condition: event.payload.alert.labels.job == "server" and event.payload.alert.status == "firing" + condition: event.payload.alerts[0].labels.job == "kube-state-metrics" and event.payload.alerts[0].status == "firing" action: run_job_template: organization: Default From 66bed2465908e58532d3bbb8ff01c90f43ee1318 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 30 Aug 2024 17:24:58 -0400 Subject: [PATCH 140/220] mtls file --- rulebooks/webhook_mtls.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 rulebooks/webhook_mtls.yml diff --git a/rulebooks/webhook_mtls.yml b/rulebooks/webhook_mtls.yml new file mode 100644 index 0000000..d9d708b --- /dev/null +++ b/rulebooks/webhook_mtls.yml @@ -0,0 +1,15 @@ +--- +- name: Wilmas webhook rulebook with mTLS + hosts: all + sources: + - ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + certfile: "{{ eda.filename.certfile }}" + keyfile: "{{ eda.filename.keyfile }}" + cafile: "{{ eda.filename.cafile }}" + rules: + - name: log all + condition: true + action: + print_event: From 2cccd8195e8c732b295b71fb808c87f2cb41bf63 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 30 Aug 2024 20:48:37 -0400 Subject: [PATCH 141/220] variablize port --- rulebooks/webhook_mtls.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_mtls.yml b/rulebooks/webhook_mtls.yml index d9d708b..78a6a99 100644 --- a/rulebooks/webhook_mtls.yml +++ b/rulebooks/webhook_mtls.yml @@ -3,7 +3,7 @@ hosts: all sources: - ansible.eda.webhook: - port: 5555 + port: "{{ port | default('5555') }}" host: 0.0.0.0 certfile: "{{ eda.filename.certfile }}" keyfile: "{{ eda.filename.keyfile }}" From 38f1d3c86b0214a70dfac997365f5e3e6ebd63d5 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 31 Aug 2024 11:52:12 -0400 Subject: [PATCH 142/220] added password for key --- rulebooks/webhook_mtls.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rulebooks/webhook_mtls.yml b/rulebooks/webhook_mtls.yml index 78a6a99..36e4414 100644 --- a/rulebooks/webhook_mtls.yml +++ b/rulebooks/webhook_mtls.yml @@ -4,10 +4,10 @@ sources: - ansible.eda.webhook: port: "{{ port | default('5555') }}" - host: 0.0.0.0 - certfile: "{{ eda.filename.certfile }}" - keyfile: "{{ eda.filename.keyfile }}" - cafile: "{{ eda.filename.cafile }}" + certfile: "{{ eda.filename.certfile | default(None) }}" + keyfile: "{{ eda.filename.keyfile | default(None) }}" + password: "{{ key_password | default(None) }}" + cafile: "{{ eda.filename.cafile | default(None) }}" rules: - name: log all condition: true From 451af04954c7082f801f0e3c8e28fd2c14f28394 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 10 Oct 2024 16:02:00 -0400 Subject: [PATCH 143/220] add multip controller --- rulebooks/demo_controller_multiple.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 rulebooks/demo_controller_multiple.yml diff --git a/rulebooks/demo_controller_multiple.yml b/rulebooks/demo_controller_multiple.yml new file mode 100644 index 0000000..c8b655d --- /dev/null +++ b/rulebooks/demo_controller_multiple.yml @@ -0,0 +1,26 @@ +--- +- name: Controller Demo + hosts: all + sources: + - ansible.eda.generic: + event_delay: 5 + loop_delay: 10 + loop_count: 25 + payload: + - i: 1 + - j: 1 + + rules: + - name: Controller Rule + condition: event.i == 1 + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Missing Job Template Rule + condition: event.j == 1 + action: + run_job_template: + name: Demo Template + organization: Default +... From 794d809002aab0ff2666ef06332f0924ee67edac Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 10 Oct 2024 17:19:02 -0400 Subject: [PATCH 144/220] jinja substitution --- rulebooks/demo_controller_multiple.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_controller_multiple.yml b/rulebooks/demo_controller_multiple.yml index c8b655d..a78174f 100644 --- a/rulebooks/demo_controller_multiple.yml +++ b/rulebooks/demo_controller_multiple.yml @@ -5,7 +5,7 @@ - ansible.eda.generic: event_delay: 5 loop_delay: 10 - loop_count: 25 + loop_count: "{{ times | default(10) | int }}" payload: - i: 1 - j: 1 From 54964fbeb0ba09714812be1b62ce901a9a576119 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 29 Oct 2024 15:50:46 -0400 Subject: [PATCH 145/220] chore: new --- rulebooks/array_of_array.yml | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 rulebooks/array_of_array.yml diff --git a/rulebooks/array_of_array.yml b/rulebooks/array_of_array.yml new file mode 100644 index 0000000..9f6ff22 --- /dev/null +++ b/rulebooks/array_of_array.yml @@ -0,0 +1,78 @@ +--- +- name: Test ruleset + hosts: localhost + sources: + - ansible.eda.generic: + payload: + - incident: + id: 671561b1831671506180bea5 + active: false + alerts: + - id: 67156085c048f04e514bdd4d + tags: + - name: alertname + value: MariadbDown + - name: state + value: active + - name: instance + value: adam-db1 + - name: severity + value: critical + - name: summary + value: Endpoint adam-db1 down + - name: alert_type + value: service + - name: host_name + value: adam-db1 + - name: job + value: node-exporter + - name: hostname + value: adam-db1 + - name: name + value: mariadb.service + status: Ok + description: 'Service Down: adam-db1 of job node-exporter has been down for more than 1 minutes.' + sourceSystem: prometheus.amack_prometheus + primaryProperty: instance + secondaryProperty: alertname + - id: 671561b1831671506180bea5 + tags: + - name: bp_secondary_property + value: adam-web1 + - name: summary + value: Endpoint adam-web1 down + - name: fstype + value: xfs + - name: severity + value: critical + - name: instance + value: adam-web1 + - name: host_name + value: adam-web1 + - name: alert_type + value: disk_usage + - name: alert_updates + value: 2 + - name: bp_primary_property + value: disk + - name: mountpoint + value: "/" + - name: job + value: node-exporter + - name: device + value: "/dev/mapper/rhel-root" + - name: hostname + value: adam-web1 + - name: alertname + value: DiskUsage + status: Ok + description: 'Disk Usage: adam-web1 of job node-exporter has a disk usage past the threshold.' + sourceSystem: prometheus.amack_prometheus + primaryProperty: instance + secondaryProperty: alertname + rules: + - name: r1 + condition: event.incident.alerts.tags is selectattr('value', '==', 'DiskUsage') + action: + debug: + msg: Found a match with alerts From 63bc1c4202e540d054ca25c6071ed348805cc971 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Nov 2024 20:22:41 -0500 Subject: [PATCH 146/220] added kafka --- rulebooks/kafka_mtls.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/kafka_mtls.yml diff --git a/rulebooks/kafka_mtls.yml b/rulebooks/kafka_mtls.yml new file mode 100644 index 0000000..0b7fff2 --- /dev/null +++ b/rulebooks/kafka_mtls.yml @@ -0,0 +1,27 @@ +--- +- name: kafka listener + hosts: all + sources: + - name: my_kafka_listener + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + cafile: "{{ eda.filename.cafile | default(None) }}" + certfile: "{{ eda.filename.certfile | default(None) }}" + keyfile: "{{ eda.filename.keyfile | default(None) }}" + password: "{{ key_password | default(None) }}" + check_hostname: "{{ check_hostname | default(true) }}" + verify_mode: "{{ verify_mode } default('CERT_REQUIRED') }}" + encoding: "{{ encoding } default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id } default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + rules: + - name: log all + condition: true + action: + debug: From e6f683f33f7757aeee7cedab7892f7dc2cb0e05c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Nov 2024 21:17:30 -0500 Subject: [PATCH 147/220] fix braces --- rulebooks/kafka_mtls.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/kafka_mtls.yml b/rulebooks/kafka_mtls.yml index 0b7fff2..e253a9c 100644 --- a/rulebooks/kafka_mtls.yml +++ b/rulebooks/kafka_mtls.yml @@ -14,7 +14,7 @@ verify_mode: "{{ verify_mode } default('CERT_REQUIRED') }}" encoding: "{{ encoding } default('utf-8') }}" topic: "{{ topic | default('demo') }}" - group_id: "{{ group_id } default(None) }}" + group_id: "{{ group_id | default(None) }}" offset: "{{ offset | default('latest') }}" security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" From 78a25fd25c38ce6ed1a64869db2ac043169a302c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Nov 2024 21:21:37 -0500 Subject: [PATCH 148/220] fixes --- rulebooks/kafka_mtls.yml | 4 ++-- rulebooks/webhook_github_snow.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/kafka_mtls.yml b/rulebooks/kafka_mtls.yml index e253a9c..f7176ca 100644 --- a/rulebooks/kafka_mtls.yml +++ b/rulebooks/kafka_mtls.yml @@ -11,8 +11,8 @@ keyfile: "{{ eda.filename.keyfile | default(None) }}" password: "{{ key_password | default(None) }}" check_hostname: "{{ check_hostname | default(true) }}" - verify_mode: "{{ verify_mode } default('CERT_REQUIRED') }}" - encoding: "{{ encoding } default('utf-8') }}" + verify_mode: "{{ verify_mode | default('CERT_REQUIRED') }}" + encoding: "{{ encoding | default('utf-8') }}" topic: "{{ topic | default('demo') }}" group_id: "{{ group_id | default(None) }}" offset: "{{ offset | default('latest') }}" diff --git a/rulebooks/webhook_github_snow.yml b/rulebooks/webhook_github_snow.yml index d3f753b..1df61e5 100644 --- a/rulebooks/webhook_github_snow.yml +++ b/rulebooks/webhook_github_snow.yml @@ -1,5 +1,5 @@ --- -- name: Webhook rulebook +- name: Webhook rulebook with names hosts: all sources: - name: my_snow From bcdd22b6a0c10619015a30509feb01f94a33ed32 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 13 Nov 2024 18:09:51 -0500 Subject: [PATCH 149/220] added aap --- rulebooks/test_payload_file_aap.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 rulebooks/test_payload_file_aap.yml diff --git a/rulebooks/test_payload_file_aap.yml b/rulebooks/test_payload_file_aap.yml new file mode 100644 index 0000000..2fe3cda --- /dev/null +++ b/rulebooks/test_payload_file_aap.yml @@ -0,0 +1,25 @@ +--- +- name: Use payload file to check events + hosts: all + sources: + - ansible.eda.generic: + payload_file: "{{ eda.filename.test_payload_file }}" + rules: + - name: Rule1 + condition: event.name == vars.friend1 + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Rule2 + condition: event.name == vars.friend2 + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Rule3 + condition: event.name == vars.friend3 + action: + run_job_template: + name: Demo Job Template + organization: Default From 79e6032052f2750722348dd2e3e41188e217863e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 14 Nov 2024 16:23:10 -0500 Subject: [PATCH 150/220] new rulebook --- rulebooks/env_vars.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/env_vars.yml diff --git a/rulebooks/env_vars.yml b/rulebooks/env_vars.yml new file mode 100644 index 0000000..2555231 --- /dev/null +++ b/rulebooks/env_vars.yml @@ -0,0 +1,27 @@ +--- +- name: Check env vars before generating events + hosts: all + sources: + - ansible.eda.generic: + loop_count: 1 + timestamp: true + create_index: i + check_env_vars: + MY_ENV1: abc + MY_ENV2: xyz + payload: + - message: + name: Fred + - message: + name: Barney + rules: + - name: English comparison using dot notation + condition: event.message.name == "Fred" + action: + print_event: + pretty: True + - name: English comparison using square bracket accessor + condition: event.message["name"] == "Barney" + action: + print_event: + pretty: True From 0f125ce7ed437b36bff932c57f72c815c2622d1e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 15 Nov 2024 17:40:17 -0500 Subject: [PATCH 151/220] add shutdown --- rulebooks/webhook_mtls.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rulebooks/webhook_mtls.yml b/rulebooks/webhook_mtls.yml index 36e4414..651ebe7 100644 --- a/rulebooks/webhook_mtls.yml +++ b/rulebooks/webhook_mtls.yml @@ -1,5 +1,5 @@ --- -- name: Wilmas webhook rulebook with mTLS +- name: Webhook rulebook with mTLS hosts: all sources: - ansible.eda.webhook: @@ -9,7 +9,11 @@ password: "{{ key_password | default(None) }}" cafile: "{{ eda.filename.cafile | default(None) }}" rules: - - name: log all - condition: true + - name: Check if the name is Fred + condition: event.payload.name == "Fred" action: print_event: + - name: Check if the event contains shutdown + condition: event.payload.shutdown + action: + shutdown: From c22d8be5aea72571cbe0f1b1ac3ceb991ec25bc0 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 19 Nov 2024 14:51:44 -0500 Subject: [PATCH 152/220] chore: remove file --- rulebooks/test_payload_file_aap.yml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 rulebooks/test_payload_file_aap.yml diff --git a/rulebooks/test_payload_file_aap.yml b/rulebooks/test_payload_file_aap.yml deleted file mode 100644 index 2fe3cda..0000000 --- a/rulebooks/test_payload_file_aap.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Use payload file to check events - hosts: all - sources: - - ansible.eda.generic: - payload_file: "{{ eda.filename.test_payload_file }}" - rules: - - name: Rule1 - condition: event.name == vars.friend1 - action: - run_job_template: - name: Demo Job Template - organization: Default - - name: Rule2 - condition: event.name == vars.friend2 - action: - run_job_template: - name: Demo Job Template - organization: Default - - name: Rule3 - condition: event.name == vars.friend3 - action: - run_job_template: - name: Demo Job Template - organization: Default From 8ab76481a6694189df147c614c7effb1a2a0e531 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 19 Nov 2024 17:59:41 -0500 Subject: [PATCH 153/220] chore: added new file --- rulebooks/test_payload_file_aap.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 rulebooks/test_payload_file_aap.yml diff --git a/rulebooks/test_payload_file_aap.yml b/rulebooks/test_payload_file_aap.yml new file mode 100644 index 0000000..2fe3cda --- /dev/null +++ b/rulebooks/test_payload_file_aap.yml @@ -0,0 +1,25 @@ +--- +- name: Use payload file to check events + hosts: all + sources: + - ansible.eda.generic: + payload_file: "{{ eda.filename.test_payload_file }}" + rules: + - name: Rule1 + condition: event.name == vars.friend1 + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Rule2 + condition: event.name == vars.friend2 + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Rule3 + condition: event.name == vars.friend3 + action: + run_job_template: + name: Demo Job Template + organization: Default From 4ccadf864fe7876768bfe08bc44698181485fac3 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 20 Nov 2024 14:25:09 -0500 Subject: [PATCH 154/220] chore: removed file --- rulebooks/test_payload_file_aap.yml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 rulebooks/test_payload_file_aap.yml diff --git a/rulebooks/test_payload_file_aap.yml b/rulebooks/test_payload_file_aap.yml deleted file mode 100644 index 2fe3cda..0000000 --- a/rulebooks/test_payload_file_aap.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Use payload file to check events - hosts: all - sources: - - ansible.eda.generic: - payload_file: "{{ eda.filename.test_payload_file }}" - rules: - - name: Rule1 - condition: event.name == vars.friend1 - action: - run_job_template: - name: Demo Job Template - organization: Default - - name: Rule2 - condition: event.name == vars.friend2 - action: - run_job_template: - name: Demo Job Template - organization: Default - - name: Rule3 - condition: event.name == vars.friend3 - action: - run_job_template: - name: Demo Job Template - organization: Default From 94a5ad9462ffdd8f3d59bbd80590c0a4c235996c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 27 Nov 2024 18:33:04 -0500 Subject: [PATCH 155/220] chore: added gssapi --- rulebooks/kafka_gssapi.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 rulebooks/kafka_gssapi.yml diff --git a/rulebooks/kafka_gssapi.yml b/rulebooks/kafka_gssapi.yml new file mode 100644 index 0000000..d47b057 --- /dev/null +++ b/rulebooks/kafka_gssapi.yml @@ -0,0 +1,21 @@ +--- +- name: kafka listener + hosts: all + sources: + - name: my_gssapi)kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_kerberos_service_name: "{{ sasl_kerberos_service_name | default(None) }}" + sasl_kerberos_domain_name: "{{ sasl_kerberos_domain_name | default(None) }}" + rules: + - name: log all + condition: true + action: + debug: From e4a8170c8fb2565e4633673694c4bb83b4c1a8e0 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 11 Dec 2024 14:18:13 -0500 Subject: [PATCH 156/220] fixed typo --- rulebooks/kafka_gssapi.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/kafka_gssapi.yml b/rulebooks/kafka_gssapi.yml index d47b057..41fa107 100644 --- a/rulebooks/kafka_gssapi.yml +++ b/rulebooks/kafka_gssapi.yml @@ -2,7 +2,7 @@ - name: kafka listener hosts: all sources: - - name: my_gssapi)kafka + - name: my_gssapi_kafka ansible.eda.kafka: host: "{{ host | default('localhost') }}" port: "{{ port | default('9092') }}" From 9254c773a984f71a069e67381017e16e94f3ad19 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 18 Feb 2025 11:56:19 -0500 Subject: [PATCH 157/220] chore: new file --- rulebooks/gitea.yml | 125 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 rulebooks/gitea.yml diff --git a/rulebooks/gitea.yml b/rulebooks/gitea.yml new file mode 100644 index 0000000..2bee1a1 --- /dev/null +++ b/rulebooks/gitea.yml @@ -0,0 +1,125 @@ +--- +- name: Listen for events from Gitea on a webhook + hosts: all + + sources: + - ansible.eda.webhook: + host: 0.0.0.0 + port: 5099 + + rules: + - name: Start the Configure AAP Job Template + condition: | + event.payload.repository.name == "aap_config" + throttle: + once_within: 10 minutes + group_by_attributes: + - event.payload.head_commit.id + action: + run_job_template: + name: "Configure AAP" + organization: "ThuisNet" + + - name: Start the Configure EDA Job Template for eda_config + condition: | + event.payload.repository.name == "eda_config" + action: + run_job_template: + name: "Configure EDA" + organization: "ThuisNet" + + - name: Start the Configure EDA Job Template for eda_rules + condition: | + event.payload.repository.name == "eda_rules" + action: + run_job_template: + name: "Update EDA Activations" + organization: "ThuisNet" + + - name: Start the Configure Hub Job Template + condition: | + event.payload.repository.name == "hub_config" + action: + run_job_template: + name: "Configure Hub" + organization: "ThuisNet" + + - name: Start the Alloy Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'alloy.yml') + action: + run_job_template: + name: "Alloy Configuration" + organization: "ThuisNet" + + - name: Start the Caddy Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'caddy.yml') + action: + run_job_template: + name: "Configure Caddy" + organization: "ThuisNet" + + - name: Start the Cockpit Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'cockpit.yml') + action: + run_job_template: + name: "Configure Cockpit" + organization: "ThuisNet" + + - name: Start the packages Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'packages') + action: + run_job_template: + name: "Install Packages" + organization: "ThuisNet" + + - name: Start the PostgreSQL Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'postgresql') + action: + run_job_template: + name: "PostgreSQL 15 Configuration" + organization: "ThuisNet" + + - name: Start the Sudo Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'sudo.yml') + action: + run_job_template: + name: "Sudo" + organization: "ThuisNet" + + - name: Start the User Management Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'user_management.yml') + action: + run_job_template: + name: "User Management" + organization: "ThuisNet" + + - name: Start the Time and Timezone Job Template + condition: | + event.payload.repository.name == "ansible_berries" and + event.payload.commits is selectattr('modified', 'search', 'time.yml') + action: + run_job_template: + name: "Time and Timezone" + organization: "ThuisNet" + + - name: Event missed everything + condition: true + action: + debug: + msg: + - "Missed everthing" + - "{{ event }}" From cc09165b7e48433bd0fecfdde1b26debc0305529 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 7 Mar 2025 13:33:20 -0500 Subject: [PATCH 158/220] chore: add test for stacktrace --- rulebooks/test_source_stacktrace.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/test_source_stacktrace.yml diff --git a/rulebooks/test_source_stacktrace.yml b/rulebooks/test_source_stacktrace.yml new file mode 100644 index 0000000..0f9b50c --- /dev/null +++ b/rulebooks/test_source_stacktrace.yml @@ -0,0 +1,13 @@ +--- +- name: Raise exception midst processing + hosts: localhost + sources: + - name: Raise Exception + ansible.eda.fail_after: + limit: "{{ LIMIT | default(10) }}" + after: "{{ FAIL_AFTER | default(4) }}" + rules: + - name: Simple Rule + condition: true + action: + debug: From fea55050e48a010a030a5fd35fb5412dde57a0d4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 2 Apr 2025 13:14:43 -0400 Subject: [PATCH 159/220] added once_within --- rulebooks/52_once_within.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 rulebooks/52_once_within.yml diff --git a/rulebooks/52_once_within.yml b/rulebooks/52_once_within.yml new file mode 100644 index 0000000..03ee680 --- /dev/null +++ b/rulebooks/52_once_within.yml @@ -0,0 +1,28 @@ +--- +- name: 52 once within + hosts: all + sources: + - ansible.eda.generic: + loop_count: "{{ loop_count | default(10) }}" + blob_size: "{{ blob_size | default(64) }}" + payload: + - alert: + level: warning + message: Low disk space + meta: + hosts: HostA + - alert: + level: error + message: Disk failure + meta: + hosts: HostA + rules: + - name: r1 + condition: event.alert.level == "warning" or event.alert.level == "error" + action: + debug: + throttle: + once_within: 30 minutes + group_by_attributes: + - event.meta.hosts + - event.alert.level From deb8db1beada0e8a84d79d26827015cb1856eaf8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 2 Apr 2025 14:40:31 -0400 Subject: [PATCH 160/220] Change to use ansible.eda.generic --- rulebooks/timed_test.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/rulebooks/timed_test.yml b/rulebooks/timed_test.yml index f519918..d0684f1 100644 --- a/rulebooks/timed_test.yml +++ b/rulebooks/timed_test.yml @@ -3,9 +3,14 @@ hosts: all sources: - name: my test source - ansible.eda.range: - limit: "{{ limit | default('20') }}" - delay: "{{ delay | default('30') }}" + ansible.eda.generic: + loop_count: "{{ loop_count | default('20') }}" + loop_delay: "{{ loop_delay | default('30') }}" + startup_delay: "{{ startup_delay | default('0') }}" + create_index: i + blob_size: "{{ blob_size | default('10') }}" + payload: + - name: Fred rules: - name: rule with 1 action condition: event.i > 0 From dae74427b29a4ed7cc1b1317b1b994636047655c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 25 Apr 2025 08:52:11 -0400 Subject: [PATCH 161/220] add set_stats --- playbooks/set_stats_example.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 playbooks/set_stats_example.yml diff --git a/playbooks/set_stats_example.yml b/playbooks/set_stats_example.yml new file mode 100644 index 0000000..f29c127 --- /dev/null +++ b/playbooks/set_stats_example.yml @@ -0,0 +1,22 @@ +--- +# This playbook prints a simple debug message and set_stats +- name: Echo Hello, world! + hosts: localhost + gather_facts: yes + tasks: + - debug: msg="Hello, world!" + - set_stats: + data: + my_date: "{{ ansible_date_time.date }}" + my_time: "{{ ansible_date_time.time }}" + my_var: 1 + expose_to_cloud_redhat_com_friend: 'Barney Rubble' + expose_to_cloud_redhat_com_person: + name: 'Fred Flintstone' + age: 45 + city: 'Bedrock' + catchphrase: 'Yabba Dabba Doo' + expose_to_cloud_redhat_com_ips: + - 1.1.1.94 + - 1.1.1.93 + - 1.1.1.97 From 665f4d0606ce5da9e298fc1417f3e6ab8dd2465d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 25 Apr 2025 08:58:13 -0400 Subject: [PATCH 162/220] chore: added example for post_events --- rulebooks/artifacts_job_template.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/artifacts_job_template.yml b/rulebooks/artifacts_job_template.yml index e63be96..caef1c0 100644 --- a/rulebooks/artifacts_job_template.yml +++ b/rulebooks/artifacts_job_template.yml @@ -11,12 +11,12 @@ condition: event.i == 1 action: run_job_template: - name: artifacts example + name: "{{ job_template_name | default('Demo Job Template') }}" organization: Default job_args: extra_vars: hello: Fred - set_facts: True + post_events: True - name: Reacting to output from job condition: event.expose_to_cloud_redhat_com_person.name == "Fred Flintstone" action: From 2b8444bbf1d6f13f234a0c134d995f2d52c79633 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 25 Apr 2025 09:31:10 -0400 Subject: [PATCH 163/220] added workflow example --- rulebooks/artifacts_job_template.yml | 4 ++-- rulebooks/artifacts_workflow.yml | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 rulebooks/artifacts_workflow.yml diff --git a/rulebooks/artifacts_job_template.yml b/rulebooks/artifacts_job_template.yml index caef1c0..88991a4 100644 --- a/rulebooks/artifacts_job_template.yml +++ b/rulebooks/artifacts_job_template.yml @@ -4,8 +4,8 @@ sources: - name: my test source ansible.eda.range: - limit: 10 - delay: 30 + limit: "{{number_of_events |default('10') }}" + delay: "{{delay | default('30') }}" rules: - name: Run job template condition: event.i == 1 diff --git a/rulebooks/artifacts_workflow.yml b/rulebooks/artifacts_workflow.yml new file mode 100644 index 0000000..656c226 --- /dev/null +++ b/rulebooks/artifacts_workflow.yml @@ -0,0 +1,23 @@ +--- +- name: Get artifacts from workflow + hosts: all + sources: + - name: my test source + ansible.eda.range: + limit: "{{number_of_events |default('10') }}" + delay: "{{delay | default('30') }}" + rules: + - name: Run workflow + condition: event.i == 1 + action: + run_workflow_template: + name: "{{ workflow_template_name }}" + organization: Default + job_args: + extra_vars: + hello: Fred + post_events: True + - name: Reacting to output from job + condition: event.expose_to_cloud_redhat_com_person.name == "Fred Flintstone" + action: + debug: From a50a899e7db472baaee347c0582a152b5f02a741 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 25 Apr 2025 09:39:12 -0400 Subject: [PATCH 164/220] Launch on 0 --- rulebooks/artifacts_job_template.yml | 2 +- rulebooks/artifacts_workflow.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/artifacts_job_template.yml b/rulebooks/artifacts_job_template.yml index 88991a4..3f15b55 100644 --- a/rulebooks/artifacts_job_template.yml +++ b/rulebooks/artifacts_job_template.yml @@ -8,7 +8,7 @@ delay: "{{delay | default('30') }}" rules: - name: Run job template - condition: event.i == 1 + condition: event.i == 0 action: run_job_template: name: "{{ job_template_name | default('Demo Job Template') }}" diff --git a/rulebooks/artifacts_workflow.yml b/rulebooks/artifacts_workflow.yml index 656c226..2dbf84f 100644 --- a/rulebooks/artifacts_workflow.yml +++ b/rulebooks/artifacts_workflow.yml @@ -8,7 +8,7 @@ delay: "{{delay | default('30') }}" rules: - name: Run workflow - condition: event.i == 1 + condition: event.i == 0 action: run_workflow_template: name: "{{ workflow_template_name }}" From f6da9efc4f9076eee48061334d33eb7b08aa3289 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 25 Apr 2025 10:12:41 -0400 Subject: [PATCH 165/220] add original event --- playbooks/set_stats_example.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/playbooks/set_stats_example.yml b/playbooks/set_stats_example.yml index f29c127..a020544 100644 --- a/playbooks/set_stats_example.yml +++ b/playbooks/set_stats_example.yml @@ -20,3 +20,6 @@ - 1.1.1.94 - 1.1.1.93 - 1.1.1.97 + original_event: "{{ ansible_eda.event }}" + original_ruleset: "{{ ansible_eda.ruleset }}" + original_rule: "{{ ansible_eda.rule }}" From 161812c96a48c7febbc0c812e0a57cdd5417afaa Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 28 May 2025 18:26:55 -0400 Subject: [PATCH 166/220] chore: add delay --- rulebooks/rulebook_with_configurable_blob.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/rulebooks/rulebook_with_configurable_blob.yml b/rulebooks/rulebook_with_configurable_blob.yml index 0aaad23..61efbb7 100644 --- a/rulebooks/rulebook_with_configurable_blob.yml +++ b/rulebooks/rulebook_with_configurable_blob.yml @@ -7,8 +7,9 @@ payload: ping: pong truth: true - loop_count: "{{ NUMBER_OF_EVENTS }}" - blob_size: "{{ BLOB_SIZE }}" + loop_count: "{{ NUMBER_OF_EVENTS | 1000 }}" + blob_size: "{{ BLOB_SIZE | 1024 }}" + loop_delay: "{{ DELAY | 5 }}" create_index: sequence rules: - name: r1 From b9ed6913f319a4971d200b74f737cd988c8498e0 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 28 May 2025 18:30:52 -0400 Subject: [PATCH 167/220] chore: fixed default --- rulebooks/rulebook_with_configurable_blob.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/rulebook_with_configurable_blob.yml b/rulebooks/rulebook_with_configurable_blob.yml index 61efbb7..2df1bca 100644 --- a/rulebooks/rulebook_with_configurable_blob.yml +++ b/rulebooks/rulebook_with_configurable_blob.yml @@ -7,9 +7,9 @@ payload: ping: pong truth: true - loop_count: "{{ NUMBER_OF_EVENTS | 1000 }}" - blob_size: "{{ BLOB_SIZE | 1024 }}" - loop_delay: "{{ DELAY | 5 }}" + loop_count: "{{ NUMBER_OF_EVENTS | default(1000) }}" + blob_size: "{{ BLOB_SIZE | default(1024) }}" + loop_delay: "{{ DELAY | default(5) }}" create_index: sequence rules: - name: r1 From 4ff3396296459cd9788e6435c2775b8419722f14 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 31 May 2025 14:51:21 -0400 Subject: [PATCH 168/220] chore: added azure service bus --- rulebooks/test_azure_service_bus.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/test_azure_service_bus.yml diff --git a/rulebooks/test_azure_service_bus.yml b/rulebooks/test_azure_service_bus.yml new file mode 100644 index 0000000..d466752 --- /dev/null +++ b/rulebooks/test_azure_service_bus.yml @@ -0,0 +1,13 @@ +--- +- name: Get Events from Azure Service Bus + hosts: all + sources: + - name: AZ Bus + ansible.eda.azure_service_bus: + conn_str: "{{ conn_str }}" + queue_name: "{{ queue_name }}" + rules: + - name: r1 + condition: true + action: + print_event: From 4bd40ac42a906d22cbde26fbed3059bf9d4388d4 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 31 May 2025 15:07:46 -0400 Subject: [PATCH 169/220] chore: azure --- rulebooks/test_azure_service_bus.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/test_azure_service_bus.yml b/rulebooks/test_azure_service_bus.yml index d466752..a363411 100644 --- a/rulebooks/test_azure_service_bus.yml +++ b/rulebooks/test_azure_service_bus.yml @@ -8,6 +8,6 @@ queue_name: "{{ queue_name }}" rules: - name: r1 - condition: true + condition: event.body.name == "Fred Flintstone" action: print_event: From f322b19553626f56a9a6de64694513f17f55ec35 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 3 Jun 2025 08:48:05 -0400 Subject: [PATCH 170/220] added gather_facts --- rulebooks/test_azure_service_bus.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/test_azure_service_bus.yml b/rulebooks/test_azure_service_bus.yml index a363411..5d201ae 100644 --- a/rulebooks/test_azure_service_bus.yml +++ b/rulebooks/test_azure_service_bus.yml @@ -1,6 +1,7 @@ --- - name: Get Events from Azure Service Bus hosts: all + gather_facts: true sources: - name: AZ Bus ansible.eda.azure_service_bus: From d29a5a331ff491b6d3d7a2b0f4ae3bbc484a4bc6 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 3 Jun 2025 09:34:57 -0400 Subject: [PATCH 171/220] chore: add gather_facts --- rulebooks/utf_key_with_gather_facts.yml | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 rulebooks/utf_key_with_gather_facts.yml diff --git a/rulebooks/utf_key_with_gather_facts.yml b/rulebooks/utf_key_with_gather_facts.yml new file mode 100644 index 0000000..b2225ac --- /dev/null +++ b/rulebooks/utf_key_with_gather_facts.yml @@ -0,0 +1,32 @@ +--- +- name: Key with non alphanumeric characters in conditions + hosts: all + gather_facts: true + sources: + - ansible.eda.generic: + loop_count: 1 + timestamp: true + create_index: i + payload: + - message: + name: Fred + - message: + name: Barney + - message: + नाम: മധു + rules: + - name: "Square accessor" + condition: event.message["नाम"] == "മധു" + action: + print_event: + pretty: True + - name: English comparison using dot notation + condition: event.message.name == "Fred" + action: + print_event: + pretty: True + - name: English comparison using square bracket accessor + condition: event.message["name"] == "Barney" + action: + print_event: + pretty: True From 5e82864b9e672776d0e6216a9a089ed6bed4d4ad Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 4 Jun 2025 16:39:15 -0400 Subject: [PATCH 172/220] chore: added webhook_fail_all.yml --- rulebooks/webhook_fail_all.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/webhook_fail_all.yml diff --git a/rulebooks/webhook_fail_all.yml b/rulebooks/webhook_fail_all.yml new file mode 100644 index 0000000..6a3db82 --- /dev/null +++ b/rulebooks/webhook_fail_all.yml @@ -0,0 +1,13 @@ +--- +- name: Match ado about nothing + hosts: all + sources: + - name: my_source + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Webhook event + condition: false + action: + debug: From fe48f46d6e1bcbbabc90ee818b5b008025c64ac6 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 10 Jul 2025 21:39:24 -0400 Subject: [PATCH 173/220] AlertManager with splitter --- rulebooks/alertmanager_with_splitter.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 rulebooks/alertmanager_with_splitter.yml diff --git a/rulebooks/alertmanager_with_splitter.yml b/rulebooks/alertmanager_with_splitter.yml new file mode 100644 index 0000000..ea9c0ac --- /dev/null +++ b/rulebooks/alertmanager_with_splitter.yml @@ -0,0 +1,16 @@ +--- +- name: AlertManager with splitter + hosts: all + sources: + - name: my_alertmanager + ansible.eda.alertmanager: + port: 5555 + host: 0.0.0.0 + filters: + - eda.builtin.event_splitter: + splitter_key: alerts + rules: + - name: Alert manager event + condition: true + action: + debug: From c5e960145b82101bc19e2b341e8073ae8a0c3a43 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 10 Jul 2025 21:53:09 -0400 Subject: [PATCH 174/220] fixed splitter key --- rulebooks/alertmanager_with_splitter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/alertmanager_with_splitter.yml b/rulebooks/alertmanager_with_splitter.yml index ea9c0ac..976cc11 100644 --- a/rulebooks/alertmanager_with_splitter.yml +++ b/rulebooks/alertmanager_with_splitter.yml @@ -8,7 +8,7 @@ host: 0.0.0.0 filters: - eda.builtin.event_splitter: - splitter_key: alerts + splitter_key: payload.alerts rules: - name: Alert manager event condition: true From 41705608d5ca1385d17b665c3fc307a427d18fea Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 14 Jul 2025 18:15:17 -0400 Subject: [PATCH 175/220] chore: fixed event condition --- rulebooks/alertmanager_with_splitter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/alertmanager_with_splitter.yml b/rulebooks/alertmanager_with_splitter.yml index 976cc11..2fb14bc 100644 --- a/rulebooks/alertmanager_with_splitter.yml +++ b/rulebooks/alertmanager_with_splitter.yml @@ -11,6 +11,6 @@ splitter_key: payload.alerts rules: - name: Alert manager event - condition: true + condition: event.labels.severity == "critical" and event.labels.alertname == "HostUp" action: debug: From ab9fbdad09b577812af15eb346e1874d0b7cf5bc Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 29 Jul 2025 20:48:51 -0400 Subject: [PATCH 176/220] add_locks --- test_job_template_with_lock.yml | 39 +++++++++++++++++++++++++++++++++ test_job_template_with_tags.yml | 37 +++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 test_job_template_with_lock.yml create mode 100644 test_job_template_with_tags.yml diff --git a/test_job_template_with_lock.yml b/test_job_template_with_lock.yml new file mode 100644 index 0000000..21ef522 --- /dev/null +++ b/test_job_template_with_lock.yml @@ -0,0 +1,39 @@ +--- +- name: Test run job templates with lock + hosts: all + execution_strategy: parallel + sources: + - ansible.eda.generic: + payload: + - name: Fred + age: 50 + index: 1 + sleep: 30 + - name: Barney + age: 50 + index: 2 + sleep: 20 + - name: Wilma + age: 35 + index: 3 + sleep: 10 + loop_count: 3 + shutdown_after: 60 + rules: + - name: "Run job template" + condition: event.index >= 1 + action: + run_job_template: + name: "{{ 'Demo Job Template mk' ~ event.index }}" + organization: Default + job_args: + extra_vars: + hello: Fred + sleep: "{{ event.sleep }}" + labels: + - 1 + - 2 + retries: 1 + lock: "{{ 'Demo Job Template mk' ~ event.index }}" + delay: 10 + set_facts: True diff --git a/test_job_template_with_tags.yml b/test_job_template_with_tags.yml new file mode 100644 index 0000000..cceeb0b --- /dev/null +++ b/test_job_template_with_tags.yml @@ -0,0 +1,37 @@ +--- +- name: Test run job templates with lock + hosts: all + execution_strategy: parallel + sources: + - ansible.eda.generic: + payload: + - name: Fred + age: 50 + index: 1 + sleep: 30 + - name: Barney + age: 50 + index: 2 + sleep: 20 + - name: Wilma + age: 35 + index: 3 + sleep: 10 + loop_count: 3 + shutdown_after: 60 + rules: + - name: "Run job template" + condition: event.index >= 1 + action: + run_job_template: + name: "{{ 'Demo Job Template mk' ~ event.index }}" + organization: Default + job_args: + extra_vars: + hello: Fred + sleep: "{{ event.sleep }}" + skip_tags: tag1, tag2 + retries: 1 + lock: "{{ 'Demo Job Template mk' ~ event.index }}" + delay: 10 + set_facts: True From 0235211b636725809ecc2b2558962f87482b8956 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 29 Jul 2025 20:52:11 -0400 Subject: [PATCH 177/220] chore: moved files --- .../test_job_template_with_lock.yml | 0 .../test_job_template_with_tags.yml | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename test_job_template_with_lock.yml => rulebooks/test_job_template_with_lock.yml (100%) rename test_job_template_with_tags.yml => rulebooks/test_job_template_with_tags.yml (100%) diff --git a/test_job_template_with_lock.yml b/rulebooks/test_job_template_with_lock.yml similarity index 100% rename from test_job_template_with_lock.yml rename to rulebooks/test_job_template_with_lock.yml diff --git a/test_job_template_with_tags.yml b/rulebooks/test_job_template_with_tags.yml similarity index 100% rename from test_job_template_with_tags.yml rename to rulebooks/test_job_template_with_tags.yml From 860b36f817774053a18ce330d3d474b00dd9be35 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Aug 2025 15:24:38 -0400 Subject: [PATCH 178/220] added test_with_colon --- test_with_colon.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test_with_colon.yml diff --git a/test_with_colon.yml b/test_with_colon.yml new file mode 100644 index 0000000..70a10f2 --- /dev/null +++ b/test_with_colon.yml @@ -0,0 +1,21 @@ +--- +- name: colon in condition + hosts: localhost + sources: + - ansible.eda.generic: + payload: + - name: 'Fred: Flintstone' + age: 50 + profession: Crane Operator + - name: Barney Rubble + age: 45 + rules: + - name: r1 + condition: > + event.name == 'Fred: Flintstone' and event.profession == "Crane Operator" + action: + debug: + - name: r2 + condition: event.name == "Barney Rubble" + action: + debug: From 50e06b8478c2280a8f072ce5f1a60dd09a0c3703 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Aug 2025 15:26:19 -0400 Subject: [PATCH 179/220] move file --- test_with_colon.yml => rulebooks/test_with_colon.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename test_with_colon.yml => rulebooks/test_with_colon.yml (100%) diff --git a/test_with_colon.yml b/rulebooks/test_with_colon.yml similarity index 100% rename from test_with_colon.yml rename to rulebooks/test_with_colon.yml From 4b517a996b071eaec73faf8bd49e66b2f1673d74 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 8 Aug 2025 15:39:09 -0400 Subject: [PATCH 180/220] fix event_splitter default --- rulebooks/alertmanager_with_splitter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/alertmanager_with_splitter.yml b/rulebooks/alertmanager_with_splitter.yml index 2fb14bc..4e62707 100644 --- a/rulebooks/alertmanager_with_splitter.yml +++ b/rulebooks/alertmanager_with_splitter.yml @@ -8,7 +8,7 @@ host: 0.0.0.0 filters: - eda.builtin.event_splitter: - splitter_key: payload.alerts + splitter_key: "{{ splitter_key | default('alerts') }}" rules: - name: Alert manager event condition: event.labels.severity == "critical" and event.labels.alertname == "HostUp" From 82d4cbbb51c873feaf052c3e728866c524c77ef7 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 12 Aug 2025 13:09:01 -0400 Subject: [PATCH 181/220] added threshold --- rulebooks/threshold.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 rulebooks/threshold.yml diff --git a/rulebooks/threshold.yml b/rulebooks/threshold.yml new file mode 100644 index 0000000..0840c6e --- /dev/null +++ b/rulebooks/threshold.yml @@ -0,0 +1,33 @@ +--- +- name: accumulate within + hosts: localhost + sources: + - name: Test + ansible.eda.generic: + payload: + - name: alert1 + level: error + code: 205 + - name: alert2 + level: warning + code: 207 + - name: alert4 + level: error + code: 209 + loop_count: 100 + create_index: index + timestamp: true + shutdown_delay: 60 + rules: + - name: r1 + condition: event.level == 'error' + throttle: + accumulate_within: 1 minutes + threshold: 100 + group_by_attributes: + - event.level + - event.code + action: + run_job_template: + name: Demo Job Template + organization: Default From 2f583234afb8e4a449ce6359cb4606fdf5697771 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 15 Aug 2025 22:35:38 -0400 Subject: [PATCH 182/220] accumulate_within --- rulebooks/test_accumulate_within.yml | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 rulebooks/test_accumulate_within.yml diff --git a/rulebooks/test_accumulate_within.yml b/rulebooks/test_accumulate_within.yml new file mode 100644 index 0000000..f047fa9 --- /dev/null +++ b/rulebooks/test_accumulate_within.yml @@ -0,0 +1,31 @@ +--- +- name: Test accumulate within + hosts: localhost + sources: + - name: Test + ansible.eda.generic: + payload: + - name: alert1 + level: error + code: 205 + - name: alert2 + level: warning + code: 207 + - name: alert3 + level: error + code: 205 + - name: alert4 + level: error + code: 205 + shutdown_delay: 75 + rules: + - name: r1 + condition: event.level == 'error' + throttle: + accumulate_within: 1 minutes + threshold: 3 + group_by_attributes: + - event.level + - event.code + action: + debug: From 5405c8e1ade5057fa1d14d0e707bd602bef1ce20 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 27 Aug 2025 12:50:52 -0400 Subject: [PATCH 183/220] demo --- rulebooks/with_names.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/with_names.yml b/rulebooks/with_names.yml index 3090544..7e5e7a3 100644 --- a/rulebooks/with_names.yml +++ b/rulebooks/with_names.yml @@ -1,5 +1,5 @@ --- -- name: Webhook rulebook with distinct names +- name: Webhook rulebook with distinct name hosts: all sources: - name: my_snow From 12a4d4abefb3d5b5d7e064bfce4dc71f5af3e517 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 5 Oct 2025 18:05:10 -0400 Subject: [PATCH 184/220] chore: add kafka oauthbearer --- rulebooks/kafka_oauthbearer.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 rulebooks/kafka_oauthbearer.yml diff --git a/rulebooks/kafka_oauthbearer.yml b/rulebooks/kafka_oauthbearer.yml new file mode 100644 index 0000000..f4e3493 --- /dev/null +++ b/rulebooks/kafka_oauthbearer.yml @@ -0,0 +1,33 @@ +--- +- name: kafka listener + hosts: all + sources: + - name: my_kafka_listener + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + cafile: "{{ eda.filename.cafile | default(None) }}" + certfile: "{{ eda.filename.certfile | default(None) }}" + keyfile: "{{ eda.filename.keyfile | default(None) }}" + password: "{{ key_password | default(None) }}" + check_hostname: "{{ check_hostname | default(true) }}" + verify_mode: "{{ verify_mode | default('CERT_REQUIRED') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + sasl_oauth_token_endpoint: "{{ sasl_oauth_token_endpoint | default(None) }}" + sasl_oauth_client_id: "{{ sasl_oauth_client_id | default(None) }}" + sasl_oauth_client_secret: "{{ sasl_oauth_client_secret | default(None) }}" + sasl_oauth_audience: "{{ sasl_oauth_audience | default(None) }}" + sasl_oauth_method: "{{ sasl_oauth_method | default('client_secret_post') }}" + sasl_oauth_scope: "{{ sasl_oauth_scope | default(None) }}" + rules: + - name: log all + condition: true + action: + debug: From 6169d72a39267e25b982fa2a2e2a40cb0a131e04 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 25 Nov 2025 08:33:32 -0500 Subject: [PATCH 185/220] added checks for github --- rulebooks/webhook_check.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/webhook_check.yml diff --git a/rulebooks/webhook_check.yml b/rulebooks/webhook_check.yml new file mode 100644 index 0000000..13159fc --- /dev/null +++ b/rulebooks/webhook_check.yml @@ -0,0 +1,13 @@ +--- +- name: Webhook rulebook + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Active Webhook event + condition: event.payload.hook.active + action: + debug: From 152e644da7ef0a62ee386cdbebf3aef6c9dff7e1 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 25 Nov 2025 08:50:19 -0500 Subject: [PATCH 186/220] testing --- rulebooks/webhook_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_check.yml b/rulebooks/webhook_check.yml index 13159fc..d819a94 100644 --- a/rulebooks/webhook_check.yml +++ b/rulebooks/webhook_check.yml @@ -8,6 +8,6 @@ host: 0.0.0.0 rules: - name: Active Webhook event - condition: event.payload.hook.active + condition: event.payload.payload.ref == 'refs/heads/main' action: debug: From 4e9c5dcaa1260e5a868b9a10d28d648c6b2500fb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 25 Nov 2025 08:53:17 -0500 Subject: [PATCH 187/220] test --- rulebooks/webhook_check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/webhook_check.yml b/rulebooks/webhook_check.yml index d819a94..c4d0077 100644 --- a/rulebooks/webhook_check.yml +++ b/rulebooks/webhook_check.yml @@ -8,6 +8,6 @@ host: 0.0.0.0 rules: - name: Active Webhook event - condition: event.payload.payload.ref == 'refs/heads/main' + condition: event.payload.ref == 'refs/heads/main' action: debug: From 4afd40a6eb07f95e6ca938c649f1919d800cb365 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 25 Nov 2025 10:13:29 -0500 Subject: [PATCH 188/220] webhook example --- rulebooks/githb_webhook.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 rulebooks/githb_webhook.yml diff --git a/rulebooks/githb_webhook.yml b/rulebooks/githb_webhook.yml new file mode 100644 index 0000000..a53fff9 --- /dev/null +++ b/rulebooks/githb_webhook.yml @@ -0,0 +1,13 @@ +--- +- name: GitHub Webhook Example + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + rules: + - name: Active Webhook event + condition: event.payload.ref == 'refs/heads/main' or event.payload.sender.url == 'https://api.github.com/users/mkanoor' + action: + debug: From 2a8dfafdda72263efc9ed74814fa82fd2a503b54 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 12 Feb 2026 09:28:21 -0500 Subject: [PATCH 189/220] webhook timeout --- rulebooks/webhook_timeout.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/webhook_timeout.yml diff --git a/rulebooks/webhook_timeout.yml b/rulebooks/webhook_timeout.yml new file mode 100644 index 0000000..919e0ad --- /dev/null +++ b/rulebooks/webhook_timeout.yml @@ -0,0 +1,17 @@ +--- +- name: Webhook rulebook will restart after retry interval + hosts: all + sources: + - name: my_github + ansible.eda.webhook: + port: 5555 + host: 0.0.0.0 + - name: workaround + ansible.eda.range: + limit: 2 + delay: "{{ retry_after | default(30) }}" + rules: + - name: Active Webhook event + condition: event.payload.ref == 'refs/heads/main' + action: + debug: From ab9a0dae2460ee72dfcdfa11e3da68789f32cc68 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 23 Feb 2026 17:28:48 -0500 Subject: [PATCH 190/220] chore: kafka with feedback --- rulebooks/kafka_feedback.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rulebooks/kafka_feedback.yml diff --git a/rulebooks/kafka_feedback.yml b/rulebooks/kafka_feedback.yml new file mode 100644 index 0000000..b209d14 --- /dev/null +++ b/rulebooks/kafka_feedback.yml @@ -0,0 +1,24 @@ +--- +- name: kafka feedback + hosts: all + sources: + - name: my_kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + feedback: true + rules: + - name: multi condition + condition: + all: + - event.id == 1 + - event.id == 7 + - event.id == 9 + action: + debug: From 43531c612019ca49529893c84a7f54d24fb8264d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 23 Feb 2026 18:48:41 -0500 Subject: [PATCH 191/220] chore: rebase --- rulebooks/kafka_feedback.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rulebooks/kafka_feedback.yml b/rulebooks/kafka_feedback.yml index b209d14..62f986a 100644 --- a/rulebooks/kafka_feedback.yml +++ b/rulebooks/kafka_feedback.yml @@ -12,6 +12,8 @@ offset: "{{ offset | default('latest') }}" security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" feedback: true rules: - name: multi condition From c69a23750977081c06801e48fb780ea31d8c8cd9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 24 Feb 2026 10:24:14 -0500 Subject: [PATCH 192/220] chore: rebase --- rulebooks/kafka_all.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 rulebooks/kafka_all.yml diff --git a/rulebooks/kafka_all.yml b/rulebooks/kafka_all.yml new file mode 100644 index 0000000..1b7cedd --- /dev/null +++ b/rulebooks/kafka_all.yml @@ -0,0 +1,22 @@ +--- +- name: kafka feedback + hosts: all + sources: + - name: my_kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + feedback: true + rules: + - name: match all + condition: true + action: + debug: From d9cfd3c8baaf0968ad8e694e477d57c6993d0ecc Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 24 Feb 2026 10:56:25 -0500 Subject: [PATCH 193/220] test --- rulebooks/kafka_feedback.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/kafka_feedback.yml b/rulebooks/kafka_feedback.yml index 62f986a..7a4b407 100644 --- a/rulebooks/kafka_feedback.yml +++ b/rulebooks/kafka_feedback.yml @@ -19,8 +19,8 @@ - name: multi condition condition: all: - - event.id == 1 - - event.id == 7 - - event.id == 9 + - event.body.id == 1 + - event.body.id == 7 + - event.body.id == 9 action: debug: From d631b0de103b9f19aa7e28a05a57b44f692ef2c1 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 24 Feb 2026 15:26:48 -0500 Subject: [PATCH 194/220] no feedback --- rulebooks/kafka_no_feedback.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 rulebooks/kafka_no_feedback.yml diff --git a/rulebooks/kafka_no_feedback.yml b/rulebooks/kafka_no_feedback.yml new file mode 100644 index 0000000..b33563c --- /dev/null +++ b/rulebooks/kafka_no_feedback.yml @@ -0,0 +1,25 @@ +--- +- name: kafka feedback + hosts: all + sources: + - name: my_kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + rules: + - name: multi condition + condition: + all: + - event.body.id == 1 + - event.body.id == 7 + - event.body.id == 9 + action: + debug: From 0f1cfeb48ce9a29ab41d3f14d97bfe609726c39a Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 16 Mar 2026 09:56:38 -0400 Subject: [PATCH 195/220] proxy --- rulebooks/proxy_env_vars.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 rulebooks/proxy_env_vars.yml diff --git a/rulebooks/proxy_env_vars.yml b/rulebooks/proxy_env_vars.yml new file mode 100644 index 0000000..4ae3f28 --- /dev/null +++ b/rulebooks/proxy_env_vars.yml @@ -0,0 +1,28 @@ +--- +- name: Check proxy env vars before generating events + hosts: all + sources: + - ansible.eda.generic: + loop_count: 1 + timestamp: true + create_index: i + check_env_vars: + HTTP_PROXY: {{ var1 }} + HTTPS_PROXY: {{ var2 }} + NO_PROXY: {{ var3 }} + payload: + - message: + name: Fred + - message: + name: Barney + rules: + - name: English comparison using dot notation + condition: event.message.name == "Fred" + action: + print_event: + pretty: True + - name: English comparison using square bracket accessor + condition: event.message["name"] == "Barney" + action: + print_event: + pretty: True From 73b4070e0a7dadcf1887f9a2e44a651e2a634941 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 16 Mar 2026 10:10:57 -0400 Subject: [PATCH 196/220] proxy --- rulebooks/proxy_env_vars.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/proxy_env_vars.yml b/rulebooks/proxy_env_vars.yml index 4ae3f28..76fb8fc 100644 --- a/rulebooks/proxy_env_vars.yml +++ b/rulebooks/proxy_env_vars.yml @@ -7,9 +7,9 @@ timestamp: true create_index: i check_env_vars: - HTTP_PROXY: {{ var1 }} - HTTPS_PROXY: {{ var2 }} - NO_PROXY: {{ var3 }} + HTTP_PROXY: "{{ var1 }}" + HTTPS_PROXY: "{{ var2 }}" + NO_PROXY: "{{ var3 }}" payload: - message: name: Fred From 6a26cfa17f903c81b087078e6e7f8e6b6bf0fb13 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 27 Mar 2026 20:25:29 -0400 Subject: [PATCH 197/220] chore: sqs_feedback --- rulebooks/sqs_feedback.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 rulebooks/sqs_feedback.yml diff --git a/rulebooks/sqs_feedback.yml b/rulebooks/sqs_feedback.yml new file mode 100644 index 0000000..08a913d --- /dev/null +++ b/rulebooks/sqs_feedback.yml @@ -0,0 +1,22 @@ +--- +- name: SQS feedback + hosts: all + sources: + - name: my_sqs + amazon.aws.aws_sqs_queue: + name: "{{ queue_name }}" + url: "{{ queue_url }}" + delay_seconds: 10 + region: "{{ region }}" + feedback: "{{ feedback }}" + access_key: "{{ access_key }}" + secret_key: "{{ secret_key }}" + rules: + - name: multi condition + condition: + all: + - event.body.id == 1 + - event.body.id == 7 + - event.body.id == 9 + action: + debug: From 89ee0ffe9a3190ea35850baca2c977eec2080063 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 1 Apr 2026 17:24:23 -0400 Subject: [PATCH 198/220] chore: webhook_debug --- rulebooks/demo_webhook_debug_action.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rulebooks/demo_webhook_debug_action.yml diff --git a/rulebooks/demo_webhook_debug_action.yml b/rulebooks/demo_webhook_debug_action.yml new file mode 100644 index 0000000..05e3b16 --- /dev/null +++ b/rulebooks/demo_webhook_debug_action.yml @@ -0,0 +1,23 @@ +--- +# This rulebook is for demo purposes only +# This webhook listens on port 5555 by default, +# you can override it by passing in an extravar +# called port. If you have other webhook sources +# running on the default port 5555 you might see +# port conflicts. +# It logs every event received so it should work +# with any vendors payload. +# It doesn't use authentication to keep things simple +# +- name: Webhook demo prints all incoming events + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Webhook rule + condition: true + action: + debug: +... From ba0e8be2acc7854a0b8b3dc3bef1bccb8895948d Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 25 Apr 2026 17:49:26 +0530 Subject: [PATCH 199/220] chore: rebase --- rulebooks/demo_job_template.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 rulebooks/demo_job_template.yml diff --git a/rulebooks/demo_job_template.yml b/rulebooks/demo_job_template.yml new file mode 100644 index 0000000..2b59421 --- /dev/null +++ b/rulebooks/demo_job_template.yml @@ -0,0 +1,17 @@ +--- +- name: Demo Job Template + hosts: all + sources: + - ansible.eda.generic: + loop_count: {{ loop_count | default(5) }} + create_index: j + payload: + - name: Fred + + rules: + - name: "Run workflow template" + condition: event.j >= 0 + action: + run_job_template: + name: Demo Job Template + organization: Default From 08f1f58113081d4812cbe93bbaca4c3aa7318af8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 25 Apr 2026 17:55:50 +0530 Subject: [PATCH 200/220] demo_job_template --- rulebooks/demo_job_template.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/demo_job_template.yml b/rulebooks/demo_job_template.yml index 2b59421..215db07 100644 --- a/rulebooks/demo_job_template.yml +++ b/rulebooks/demo_job_template.yml @@ -3,7 +3,7 @@ hosts: all sources: - ansible.eda.generic: - loop_count: {{ loop_count | default(5) }} + loop_count: "{{ loop_count | default(5) }}" create_index: j payload: - name: Fred From 537ecf92a541c1beed64975556690b7bf32efee2 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 25 Apr 2026 17:59:44 +0530 Subject: [PATCH 201/220] parallel --- rulebooks/demo_job_template.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/demo_job_template.yml b/rulebooks/demo_job_template.yml index 215db07..5ff7b40 100644 --- a/rulebooks/demo_job_template.yml +++ b/rulebooks/demo_job_template.yml @@ -1,6 +1,7 @@ --- - name: Demo Job Template hosts: all + execution_strategy: parallel sources: - ansible.eda.generic: loop_count: "{{ loop_count | default(5) }}" From 33c3a7a4317fcbcc790d9325078e37268ecb907f Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sun, 26 Apr 2026 03:29:46 +0530 Subject: [PATCH 202/220] chore: add blob size --- rulebooks/demo_job_template.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/demo_job_template.yml b/rulebooks/demo_job_template.yml index 5ff7b40..d698156 100644 --- a/rulebooks/demo_job_template.yml +++ b/rulebooks/demo_job_template.yml @@ -5,6 +5,7 @@ sources: - ansible.eda.generic: loop_count: "{{ loop_count | default(5) }}" + blob_size: "{{ blob_size | default(2700) }}" create_index: j payload: - name: Fred From 48fc84eca9721b2a0e863012db400f32b7493ac8 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 28 Apr 2026 15:38:45 +0530 Subject: [PATCH 203/220] chore: million events --- rulebooks/million_events.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index e2aca33..c5b4648 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -4,7 +4,7 @@ sources: - name: range ansible.eda.range: - limit: 1000000 + limit: "{{ max_events | default('1000000') }}" rules: - name: Rule condition: event.i is defined From 1c5f9a55d15f7863486ca2671a9fcd661ce617cb Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 28 Apr 2026 17:40:24 +0530 Subject: [PATCH 204/220] chore: use generic --- rulebooks/million_events.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index c5b4648..896084b 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -2,9 +2,13 @@ - name: "Create 1 milliom events" hosts: all sources: - - name: range - ansible.eda.range: - limit: "{{ max_events | default('1000000') }}" + - name: generic + ansible.eda.generic: + loop_count: "{{ max_events | default('1000000') }}" + shutdown_aftre: "{{ max_wait | default('3600') }}" + create_index: i + payload: + - name: fred rules: - name: Rule condition: event.i is defined From 1ca6dbf5660c5bcd00ffb7015ca963d825d96b88 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 28 Apr 2026 17:52:00 +0530 Subject: [PATCH 205/220] chore: fixed typo --- rulebooks/million_events.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index 896084b..919b433 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -5,7 +5,7 @@ - name: generic ansible.eda.generic: loop_count: "{{ max_events | default('1000000') }}" - shutdown_aftre: "{{ max_wait | default('3600') }}" + shutdown_after: "{{ max_wait | default('3600') }}" create_index: i payload: - name: fred From d9cf162d32be3ffecff625d5c6af30ef34895b77 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 29 Apr 2026 18:53:31 +0530 Subject: [PATCH 206/220] chore: added blob size --- rulebooks/million_events.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index 919b433..f9e6cee 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -7,6 +7,7 @@ loop_count: "{{ max_events | default('1000000') }}" shutdown_after: "{{ max_wait | default('3600') }}" create_index: i + blob_size : "{{ blob_size | default('256') }}" payload: - name: fred rules: From c649738efbac94080af1795a5e3c3169acc89c7a Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 29 Apr 2026 18:58:00 +0530 Subject: [PATCH 207/220] chore: add execution strategy --- rulebooks/million_events.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/million_events.yml b/rulebooks/million_events.yml index f9e6cee..75c27c5 100644 --- a/rulebooks/million_events.yml +++ b/rulebooks/million_events.yml @@ -1,6 +1,7 @@ --- - name: "Create 1 milliom events" hosts: all + execution_strategy: parallel sources: - name: generic ansible.eda.generic: From a56c24f33641e64c75c157798fcda39e7f2bc9bf Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 29 May 2026 12:11:48 -0400 Subject: [PATCH 208/220] avro --- rulebooks/kafka_with_avro.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rulebooks/kafka_with_avro.yml diff --git a/rulebooks/kafka_with_avro.yml b/rulebooks/kafka_with_avro.yml new file mode 100644 index 0000000..def8997 --- /dev/null +++ b/rulebooks/kafka_with_avro.yml @@ -0,0 +1,24 @@ +--- +- name: kafka with avro dynamic schema + hosts: all + sources: + - name: my_avro_kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + message_format: "{{ message_format | default('json') }}" + avro_schema_file: "{{ eda.filename.avro_schema_file | default(None) }}" + schema_registry_url: "{{ schema_registry_url | default(None) }}" + rules: + - name: match all avro + condition: true + action: + debug: From 7eae70a041ce5264d178f3439d3201093a379b63 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Fri, 29 May 2026 14:23:47 -0400 Subject: [PATCH 209/220] block payload --- rulebooks/test_block_payload.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 rulebooks/test_block_payload.yml diff --git a/rulebooks/test_block_payload.yml b/rulebooks/test_block_payload.yml new file mode 100644 index 0000000..42efa80 --- /dev/null +++ b/rulebooks/test_block_payload.yml @@ -0,0 +1,12 @@ +--- +- name: Allow for users to debug file contents + hosts: all + sources: + - ansible.eda.generic: + payload_file: "{{ eda.filename.test_payload_file }}" + shutdown_after: "{{ shutdown_after | default('500') | int }}" + rules: + - name: test + condition: true + action: + debug: From 319db86c8d67ba24892f030095d165c471510364 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 15 Jun 2026 16:00:25 -0400 Subject: [PATCH 210/220] parallel execution --- rulebooks/demo_jt_wjt_webhook.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rulebooks/demo_jt_wjt_webhook.yml diff --git a/rulebooks/demo_jt_wjt_webhook.yml b/rulebooks/demo_jt_wjt_webhook.yml new file mode 100644 index 0000000..f7ea2ed --- /dev/null +++ b/rulebooks/demo_jt_wjt_webhook.yml @@ -0,0 +1,23 @@ +--- +- name: Controller Demo with Parallel Strategy + hosts: all + execution_strategy: parallel + sources: + - ansible.eda.webhook: + port: 5555 + host: 127.0.0.1 + + rules: + - name: Run JT + condition: event.payload.type == "job_template" + action: + run_job_template: + name: Demo Job Template + organization: Default + - name: Run WJT + condition: event.payload.type == "workflow" + action: + run_workflow_template: + name: Demo Workflow + organization: Default +... From 15941251596f625cec3c1b5b627780445876579c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Mon, 15 Jun 2026 16:25:29 -0400 Subject: [PATCH 211/220] changed org --- rulebooks/demo_jt_wjt_webhook.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rulebooks/demo_jt_wjt_webhook.yml b/rulebooks/demo_jt_wjt_webhook.yml index f7ea2ed..0c08dc7 100644 --- a/rulebooks/demo_jt_wjt_webhook.yml +++ b/rulebooks/demo_jt_wjt_webhook.yml @@ -13,11 +13,11 @@ action: run_job_template: name: Demo Job Template - organization: Default + organization: cac-org-1 - name: Run WJT condition: event.payload.type == "workflow" action: run_workflow_template: - name: Demo Workflow - organization: Default + name: Demo Workflow Template + organization: cac-org-1 ... From e4482db6c8d8e6651879a99a8f6ec33c28664e30 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 16 Jun 2026 09:54:10 -0400 Subject: [PATCH 212/220] Use Jinja2 for names --- rulebooks/demo_jt_wjt_webhook.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rulebooks/demo_jt_wjt_webhook.yml b/rulebooks/demo_jt_wjt_webhook.yml index 0c08dc7..4184166 100644 --- a/rulebooks/demo_jt_wjt_webhook.yml +++ b/rulebooks/demo_jt_wjt_webhook.yml @@ -12,12 +12,12 @@ condition: event.payload.type == "job_template" action: run_job_template: - name: Demo Job Template - organization: cac-org-1 + name: "{{ job_template | default('Demo Job Template') }}" + organization: "{{ organization | default('Default') }}" - name: Run WJT condition: event.payload.type == "workflow" action: run_workflow_template: - name: Demo Workflow Template - organization: cac-org-1 + name: "{{ workflow | default('Demo Workflow Template') }}" + organization: "{{ organization | default('Default') }}" ... From 96c86b6271511be9f526aa2fc3539cd8bafcbc3e Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 27 Jun 2026 10:34:26 -0400 Subject: [PATCH 213/220] jt --- rulebooks/demo_webhook_jt.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 rulebooks/demo_webhook_jt.yml diff --git a/rulebooks/demo_webhook_jt.yml b/rulebooks/demo_webhook_jt.yml new file mode 100644 index 0000000..ad462b1 --- /dev/null +++ b/rulebooks/demo_webhook_jt.yml @@ -0,0 +1,27 @@ +--- +# This rulebook is for demo purposes only +# This webhook listens on port 5555 by default, +# you can override it by passing in an extravar +# called port. If you have other webhook sources +# running on the default port 5555 you might see +# port conflicts. +# It logs every event received so it should work +# with any vendors payload. +# It doesn't use authentication to keep things simple +# +- name: Webhook demo prints all incoming events + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Webhook JT rule + condition: true + action: + run_job_template: + name: "{{ jt_name | default('Demo Job Template') }}" + job_args: + extra_vars: + sleep: "{{ sleep_seconds | default('5') }}" +... From f358072a48d437dc89639f31bb22471887b158c9 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Sat, 27 Jun 2026 10:43:10 -0400 Subject: [PATCH 214/220] Missings Org --- rulebooks/demo_webhook_jt.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/rulebooks/demo_webhook_jt.yml b/rulebooks/demo_webhook_jt.yml index ad462b1..69beab0 100644 --- a/rulebooks/demo_webhook_jt.yml +++ b/rulebooks/demo_webhook_jt.yml @@ -21,6 +21,7 @@ action: run_job_template: name: "{{ jt_name | default('Demo Job Template') }}" + organization: "{{ organization | default('Default') }}" job_args: extra_vars: sleep: "{{ sleep_seconds | default('5') }}" From 697ad4f2bd3abbd36e5f559feac6aa8ba2222236 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Tue, 30 Jun 2026 08:46:58 -0400 Subject: [PATCH 215/220] paralle --- rulebooks/demo_webhook_jt_parallel.yml | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 rulebooks/demo_webhook_jt_parallel.yml diff --git a/rulebooks/demo_webhook_jt_parallel.yml b/rulebooks/demo_webhook_jt_parallel.yml new file mode 100644 index 0000000..4b4d500 --- /dev/null +++ b/rulebooks/demo_webhook_jt_parallel.yml @@ -0,0 +1,29 @@ +--- +# This rulebook is for demo purposes only +# This webhook listens on port 5555 by default, +# you can override it by passing in an extravar +# called port. If you have other webhook sources +# running on the default port 5555 you might see +# port conflicts. +# It logs every event received so it should work +# with any vendors payload. +# It doesn't use authentication to keep things simple +# +- name: Webhook demo prints all incoming events + hosts: all + execution_strategy: parallel + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Webhook JT rule parallel + condition: true + action: + run_job_template: + name: "{{ jt_name | default('Demo Job Template') }}" + organization: "{{ organization | default('Default') }}" + job_args: + extra_vars: + sleep: "{{ sleep_seconds | default('5') }}" +... From 843b187999df136f453d53653a77379af28fee6b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Thu, 2 Jul 2026 14:17:22 -0400 Subject: [PATCH 216/220] add_kafka_sce --- rulebooks/kafka_sce.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 rulebooks/kafka_sce.yml diff --git a/rulebooks/kafka_sce.yml b/rulebooks/kafka_sce.yml new file mode 100644 index 0000000..9a858b7 --- /dev/null +++ b/rulebooks/kafka_sce.yml @@ -0,0 +1,21 @@ +--- +- name: kafka feedback + hosts: all + sources: + - name: my_kafka + ansible.eda.kafka: + host: "{{ host | default('localhost') }}" + port: "{{ port | default('9092') }}" + encoding: "{{ encoding | default('utf-8') }}" + topic: "{{ topic | default('demo') }}" + group_id: "{{ group_id | default(None) }}" + offset: "{{ offset | default('latest') }}" + security_protocol: "{{ security_protocol | default('PLAINTEXT') }}" + sasl_mechanism: "{{ sasl_mechanism | default('PLAIN') }}" + sasl_plain_username: "{{ sasl_plain_username | default(None) }}" + sasl_plain_password: "{{ sasl_plain_password | default(None) }}" + rules: + - name: single event condition + condition: event.body.id == 1 + action: + debug: From 7c4fa7f31718f12c2a49dd830743642566109d48 Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 8 Jul 2026 16:05:27 -0400 Subject: [PATCH 217/220] Add initial README with project description --- README.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..734a39b --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Test rulebooks collection repository From e8c51fcd1040aa617916ee3ee6b6b426e1dd8e1b Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 8 Jul 2026 16:46:29 -0400 Subject: [PATCH 218/220] pr tracker --- rulebooks/demo_webhook_pr_tracker.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rulebooks/demo_webhook_pr_tracker.yml diff --git a/rulebooks/demo_webhook_pr_tracker.yml b/rulebooks/demo_webhook_pr_tracker.yml new file mode 100644 index 0000000..f7c615a --- /dev/null +++ b/rulebooks/demo_webhook_pr_tracker.yml @@ -0,0 +1,23 @@ +--- +- name: GitHub Webhook demo tracks PR opening and closing + hosts: all + sources: + - ansible.eda.webhook: + port: "{{ port | default(5555) }}" + host: 0.0.0.0 + rules: + - name: Track PR opening and closing + condition: + all: + - events.pr_opened << event.payload.pull_request.state == 'open' + - > + events.pr_closed << event.payload.pull_request.state == 'closed' and + event.payload.pull_request.merged and + events.pr_opened.payload.pull_request.id == event.payload.pull_request.id + action: + debug: + msg: + - "Opened {{ events.pr_opened.payload.created_at }}" + - "Closed {{ events.pr_closed.payload.closed_at }}" + - "PR Number {{ events.pr_closed.payload.number }}" +... From 5a903564aace56237bdc55e3b170364f60208ebf Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 8 Jul 2026 16:56:55 -0400 Subject: [PATCH 219/220] updated debug msg --- rulebooks/demo_webhook_pr_tracker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rulebooks/demo_webhook_pr_tracker.yml b/rulebooks/demo_webhook_pr_tracker.yml index f7c615a..58d5f2b 100644 --- a/rulebooks/demo_webhook_pr_tracker.yml +++ b/rulebooks/demo_webhook_pr_tracker.yml @@ -17,7 +17,7 @@ action: debug: msg: - - "Opened {{ events.pr_opened.payload.created_at }}" - - "Closed {{ events.pr_closed.payload.closed_at }}" + - "Opened {{ events.pr_opened.payload.pull_request.created_at }}" + - "Closed {{ events.pr_closed.payload.pull_request.closed_at }}" - "PR Number {{ events.pr_closed.payload.number }}" ... From 7949e2e85a79474c99b7122d539984a21749c15c Mon Sep 17 00:00:00 2001 From: Madhu Kanoor Date: Wed, 8 Jul 2026 17:04:31 -0400 Subject: [PATCH 220/220] Add description about samples in README Added a description about samples in the repository. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 734a39b..46ca3e6 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ Test rulebooks collection repository +It contains samples