- Enhanced the HandleReq function to incorporate policy checks for privileged events, ensuring only authorized users can access sensitive data. - Introduced a new integration test suite for policy filtering, validating the behavior of event access based on user authentication and policy rules. - Added a script to automate the policy filter integration tests, improving testing efficiency and reliability. - Updated version to v0.20.2 to reflect the new features and improvements.
29 lines
939 B
Bash
Executable File
29 lines
939 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Example sprocket script that demonstrates event processing
|
|
# This script reads JSON events from stdin and outputs JSONL responses
|
|
|
|
# Read events from stdin line by line
|
|
while IFS= read -r line; do
|
|
# Parse the event JSON
|
|
event_id=$(echo "$line" | jq -r '.id')
|
|
event_kind=$(echo "$line" | jq -r '.kind')
|
|
event_content=$(echo "$line" | jq -r '.content')
|
|
|
|
# Example policy: reject events with certain content
|
|
if [[ "$event_content" == *"spam"* ]]; then
|
|
echo "{\"id\":\"$event_id\",\"action\":\"reject\",\"msg\":\"content contains spam\"}"
|
|
continue
|
|
fi
|
|
|
|
# Example policy: shadow reject events from certain kinds
|
|
if [[ "$event_kind" == "9999" ]]; then
|
|
echo "{\"id\":\"$event_id\",\"action\":\"shadowReject\",\"msg\":\"\"}"
|
|
continue
|
|
fi
|
|
|
|
# Default: accept the event
|
|
echo "{\"id\":\"$event_id\",\"action\":\"accept\",\"msg\":\"\"}"
|
|
|
|
done
|