Skip to content

Commit 17e4f2e

Browse files
committed
remove enable filter and manage defaults
1 parent ebf267f commit 17e4f2e

File tree

1 file changed

+29
-16
lines changed

1 file changed

+29
-16
lines changed

scripts/functions.sh

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,6 @@ function filters_usage {
342342
# agent node selector
343343
echo " --node-selector: capture on specific nodes (default: n/a)"
344344
# agent filters
345-
echo " --enable_filter: enable flow filter (default: false)"
346345
echo " --direction: filter direction (default: n/a)"
347346
echo " --cidr: filter CIDR (default: 0.0.0.0/0)"
348347
echo " --protocol: filter protocol (default: n/a)"
@@ -408,6 +407,11 @@ function updateFLPConfig {
408407
function edit_manifest() {
409408
## replace the configuration in the manifest file
410409
echo "opt: $1, evalue: $2"
410+
411+
if [[ $1 == "filter_"* ]]; then
412+
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"ENABLE_FLOW_FILTER\").value|=\"true\"" "$3"
413+
fi
414+
411415
case "$1" in
412416
"interfaces")
413417
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"INTERFACES\").value|=\"$2\"" "$3"
@@ -456,9 +460,6 @@ function edit_manifest() {
456460
fi
457461
fi
458462
;;
459-
"filter_enable")
460-
"$YQ_BIN" e --inplace ".spec.template.spec.containers[0].env[] |= select(.name==\"ENABLE_FLOW_FILTER\").value|=\"$2\"" "$3"
461-
;;
462463
"filter_direction")
463464
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.direction = \"$2\")| tostring)" "$3"
464465
;;
@@ -511,6 +512,10 @@ function edit_manifest() {
511512
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.tcp_flags = \"$2\")| tostring)" "$3"
512513
;;
513514
"filter_pkt_drops")
515+
if [[ "$2" == "true" ]]; then
516+
# force enable drops before setting filter
517+
edit_manifest "pktdrop_enable" "$2" "$3"
518+
fi
514519
"$YQ_BIN" e --inplace " .spec.template.spec.containers[0].env[] |= select(.name == \"FLOW_FILTER_RULES\").value |=(fromjson | map(.drops = $2)| tostring)" "$3"
515520
;;
516521
"filter_regexes")
@@ -554,6 +559,18 @@ function edit_manifest() {
554559
esac
555560
}
556561

562+
563+
# define key and value at script level to make them available all the time
564+
# these will be updated by check_args_and_apply first and overriden by defaultValue when needed
565+
key=""
566+
value=""
567+
568+
function defaultValue() {
569+
if [ "$key" == "$value" ]; then
570+
value="$1"
571+
fi
572+
}
573+
557574
# Check if the arguments are valid
558575
#$1: options
559576
#$2: manifest
@@ -565,13 +582,15 @@ function check_args_and_apply() {
565582
value="${option#*=}"
566583
case "$key" in
567584
--background) # Run command in background
585+
defaultValue "true"
568586
if [[ "$value" == "true" || "$value" == "false" ]]; then
569587
runBackground="$value"
570588
else
571589
echo "invalid value for --background"
572590
fi
573591
;;
574592
--copy) # Copy or skip without prompt
593+
defaultValue "true"
575594
if [[ "$value" == "true" || "$value" == "false" || "$value" == "prompt" ]]; then
576595
copy="$value"
577596
else
@@ -583,6 +602,7 @@ function check_args_and_apply() {
583602
;;
584603
--enable_pktdrop) # Enable packet drop
585604
if [[ "$3" == "flows" || "$3" == "metrics" ]]; then
605+
defaultValue "true"
586606
if [[ "$value" == "true" || "$value" == "false" ]]; then
587607
edit_manifest "pktdrop_enable" "$value" "$2"
588608
else
@@ -595,6 +615,7 @@ function check_args_and_apply() {
595615
;;
596616
--enable_dns) # Enable DNS
597617
if [[ "$3" == "flows" || "$3" == "metrics" ]]; then
618+
defaultValue "true"
598619
if [[ "$value" == "true" || "$value" == "false" ]]; then
599620
edit_manifest "dns_enable" "$value" "$2"
600621
else
@@ -607,6 +628,7 @@ function check_args_and_apply() {
607628
;;
608629
--enable_rtt) # Enable RTT
609630
if [[ "$3" == "flows" || "$3" == "metrics" ]]; then
631+
defaultValue "true"
610632
if [[ "$value" == "true" || "$value" == "false" ]]; then
611633
edit_manifest "rtt_enable" "$value" "$2"
612634
else
@@ -619,6 +641,7 @@ function check_args_and_apply() {
619641
;;
620642
--enable_network_events) # Enable Network events monitoring
621643
if [[ "$3" == "flows" || "$3" == "metrics" ]]; then
644+
defaultValue "true"
622645
if [[ "$value" == "true" || "$value" == "false" ]]; then
623646
edit_manifest "network_events_enable" "$value" "$2"
624647
else
@@ -629,18 +652,6 @@ function check_args_and_apply() {
629652
exit 1
630653
fi
631654
;;
632-
--enable_filter) # Enable flow filter
633-
if [[ "$3" == "flows" || "$3" == "metrics" ]]; then
634-
if [[ "$value" == "true" || "$value" == "false" ]]; then
635-
edit_manifest "filter_enable" "$value" "$2"
636-
else
637-
echo "invalid value for --enable_filter"
638-
fi
639-
else
640-
echo "--enable_filter is invalid option for packets"
641-
exit 1
642-
fi
643-
;;
644655
--direction) # Configure filter direction
645656
if [[ "$value" == "Ingress" || "$value" == "Egress" ]]; then
646657
edit_manifest "filter_direction" "$value" "$2"
@@ -693,6 +704,7 @@ function check_args_and_apply() {
693704
fi
694705
;;
695706
--drops) # Filter packet drops
707+
defaultValue "true"
696708
if [[ "$value" == "true" || "$value" == "false" ]]; then
697709
edit_manifest "filter_pkt_drops" "$value" "$2"
698710
else
@@ -750,6 +762,7 @@ function check_args_and_apply() {
750762
fi
751763
;;
752764
--get-subnets) # Get subnets
765+
defaultValue "true"
753766
if [[ "$value" == "true" || "$value" == "false" ]]; then
754767
edit_manifest "get_subnets" "$value" "$2"
755768
else

0 commit comments

Comments
 (0)