Configuration
Configuration file
Configuration
The static configuration of Falco Talon
is set with a .yaml
file (default: ./config.yaml
) or with environment variables.
Setting | Env var | Default | Description |
---|---|---|---|
listen_address | LISTEN_ADDRESS | 0.0.0.0 | Listten Address |
listen_port | LISTEN_PORT | 2803 | Listten Port |
rules_files | RULES_FILES | n/a | File with rules |
watch_rules | WATCH_RULES | true | Reload rules if they change |
print_all_events | PRINT_ALL_EVENTS | true | Print in logs all received events, not only those which matches |
kubeconfig | KUBECONFIG | n/a | Kube config file, only if Falco Talon runs outside Kubernetes |
log_format | LOG_FORMAT | color | Log Format: text, color, json |
otel.traces_enabled | OTEL_TRACES_ENABLED | false | Enable traces |
otel.metrics_enabled | OTEL_METRICS_ENABLED | false | Enable metrics |
otel.collector_endpoint | OTEL_COLLECTOR_ENDPOINT | localhost | Listen address of the OTEL Collector |
otel.collector_port | OTEL_COLLECTOR_PORT | localhost | Listen port of the OTEL Collector |
otel.use_insecure_grpc | OTEL_USE_INSECURE_GRPC | false | Enable insecure gRPC connection |
otel.timeout | OTEL_TIMEOUT | 10 | Timeout in seconds |
deduplication.leader_election | DEDUPLICATION_LEADER_ELECTION | true | enable the leader election for cluster mode (in k8s only) |
deduplication.time_window_seconds | DEDUPLICATION_TIME_WINDOW_SECONDS | 5 | Duration in seconds for the deduplication time window |
default_notifiers | DEFAULT_NOTIFIERS | n/a | List of notifiers which are enabled for all rules |
notifiers_x | NOTIFIERS_X | n/a | List of notifiers with their settings |
aws.role_arn | AWS_ROLE_ARN | n/a | AWS Role ARN to use with AWS actions |
aws.external_id | AWS_ROLE_EXTERNAL_ID | n/a | AWS External ID used to assume roles with AWS actions. This field is ignored if aws.role_arn is not set |
aws.region | AWS_REGION | n/a | AWS Region to use, it should be specified along aws.access_key and aws.secret_key |
aws.access_key | AWS_ACCESS_KEY | n/a | AWS Access Key to use, it should be specified along aws.region and aws.secret_key |
aws.secret_key | AWS_SECRET_KEY | n/a | AWS Secret Key to use, it should be specified along aws.region and aws.access_key |
minio.endpoint | MINIO_ENDPOINT | n/a | Minio endpoint address |
minio.access_key | MINIO_ACCESS_KEY | n/a | Access Key to use, it should be specified along minio.secret_key |
minio.secret_key | MINIO_SECRET_KEY | n/a | Secret Key to use, it should be specified along minio.access_key |
minio.use_ssl | MINIO_USE_SSL | false | Use SSL |
Example
listen_address: "0.0.0.0" # default: "0.0.0.0"
listen_port: "2803" # default: "2803"
rules_file:
- "./rules.yaml" # default: "./rules.yaml"
# kubeConfig: "~/.kube/config" # only if Falco Talon is running outside Kubernetes
log_format: "color" # log format: text, color, json (default: color)
watch_rules: true # reload if the rules file changes (default: true)
print_all_events: true # print in logs all received events, not only those which match
otel: # OTEL
traces_enabled: true # enable the traces
metrics_enabled: true # enables the metrics
collector_endpoint: localhost # listen address of the OTEL Collector
collector_port: 4317 # listen port of the OTEL Collector
collector_use_insecure_grpc: false # enable insecure gRPC connection
timeout: 10 # timeout in seconds
deduplication:
leader_election: true # enable the leader election for cluster mode (in k8s only)
time_window_seconds: 5 # duration in seconds for the deduplication time window (default: 5)
default_notifiers: # these notifiers will be enabled for all rules
- k8sevents
aws:
role_arn: arn:aws:iam::<account_number>:role/<role_name> # role to assume
external_id: <external_id> # external id
region: <region> # if not specified, default region from provider credential chain will be used
access_key: <access_key> # if not specified, default access_key from provider credential chain will be used
secret_key: <secret_key> # if not specified, default secret_key from provider credential chain will be used
minio:
endpoint: <endpoint> # endpoint
access_key: <access_key> # access key
secret_key: <secret_key> # secret key
use_ssl: false # use SSL
notifiers:
slack:
webhook_url: "https://hooks.slack.com/services/XXXX" # Slack webhook
icon: "" # default: "https://upload.wikimedia.org/wikipedia/commons/2/26/Circaetus_gallicus_claw.jpg"
username: "" # default: "Falco Talon"
footer: "" # default: "https://github.com/falco-talon/falco-talon"
format: long # default: long
webhook:
url: "" # address of the webhook endpoint
smtp:
host_port: "" # host:port of the SMTP server
from: "" # from header
to: "" # to
user: "" # user
password: "" # password
format: "html" # format: html or text
See here for the settings of the notifers.
Last modified September 24, 2024: fix slack url (f2d89ce)