You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.3 KiB
TOML

[template]
cargo_generate_version = ">=0.10.0"
ignore = [".github", "test.sh"]
[placeholders.program_type]
type = "string"
prompt = "Which type of eBPF program?"
choices = [
"cgroup_skb",
"cgroup_sockopt",
"cgroup_sysctl",
"classifier",
"fentry",
"fexit",
"kprobe",
"kretprobe",
"lsm",
"perf_event",
"raw_tracepoint",
"sk_msg",
"sock_ops",
"socket_filter",
"tp_btf",
"tracepoint",
"uprobe",
"uretprobe",
"xdp",
]
default = "xdp"
[conditional.'program_type == "kprobe" || program_type == "kretprobe"'.placeholders.kprobe]
type = "string"
prompt = "Where to attach the (k|kret)probe? (e.g try_to_wake_up)"
[conditional.'program_type == "fentry" || program_type == "fexit"'.placeholders.fn_name]
type = "string"
prompt = "Where to attach the f(entry|exit)? (e.g try_to_wake_up)"
[conditional.'program_type == "uprobe" || program_type == "uretprobe"'.placeholders.uprobe_target]
type = "string"
prompt = "Target to attach the (u|uret)probe? (e.g libc)"
[conditional.'program_type == "uprobe" || program_type == "uretprobe"'.placeholders.uprobe_fn_name]
type = "string"
prompt = "Function name to attach the (u|uret)probe? (e.g getaddrinfo)"
[conditional.'program_type == "cgroup_skb" || program_type == "classifier"'.placeholders.direction]
type = "string"
prompt = "Attach direction?"
choices = ["Egress", "Ingress"]
[conditional.'program_type == "cgroup_sockopt"'.placeholders.sockopt_target]
type = "string"
prompt = "Which socket option?"
choices = ["getsockopt", "setsockopt"]
[conditional.'program_type == "sk_msg"'.placeholders.sock_map]
type = "string"
prompt = "Map Name (UPPER_CASE)?"
regex = "^[A-Z_]+$"
[conditional.'program_type == "tracepoint"'.placeholders.tracepoint_category]
type = "string"
prompt = "Which tracepoint category? (e.g sched, net etc...)"
regex = "^[a-z_]+$"
[conditional.'program_type == "tracepoint" || program_type == "tp_btf" || program_type == "raw_tracepoint"'.placeholders.tracepoint_name]
type = "string"
prompt = "Which tracepoint name? (e.g sched_switch, net_dev_queue)"
regex = "^[a-z_]+$"
[conditional.'program_type == "lsm"'.placeholders.lsm_hook]
type = "string"
prompt = "Which lsm hook? (e.g file_open, task_alloc) You can find a list of hooks in include/linux/lsm_hooks.h in the kernel source tree."
regex = "^[a-z_]+$"
[hooks]
pre = ["pre-script.rhai"]