Forum Discussion

bitwisecook's avatar
bitwisecook
Icon for Altostratus rankAltostratus
May 16, 2026

CLI Tool for BIG-IP - f5 cli

I'm releasing a CLI tool for inspecting and manipulating configuration. It’s a whole suite of tools in one, from `f5 grep` through to the advanced jq-style `f5 query`

This tool is based on my last 20 years of using and abusing BIG-IP, and the ideas behind all the tooling I built along the way.

https://github.com/bitwisecook/tcl-lsp/blob/main/INSTALL-cli.md

https://github.com/bitwisecook/tcl-lsp/tree/main/docs/references/f5_query

https://github.com/bitwisecook/tcl-lsp/tree/main/samples/for_f5_query

there’s lots of documentation, worked examples, KCS style docs covering it, contending help including shell completion support.

It requires Python 3.10+ for now.

feel free to discuss here or raise issues on GitHub.

This is part of my much larger work on an LSP, MCP, and AI tooling for all editors and harnesses to improve f5 tooling.

The `query` verb can do stuff like

$ f5 query --name ltm=ltm.conf --name gtm=gtm.conf --merge --raw '
    $gtm.gtm.wideip[] as $w
    | $w.pools[] as $gp
    | $gp.members[]
    | last(split(., ":")) as $vspath
    | $ltm.ltm.virtual[]
    | select(."full-path" == $vspath) as $vs
    | $vs.pool.members[]
    | tsv($w.name, $gp.name, $vs.name, $vs.pool, .address, port(.name))
  ' ltm.conf gtm.conf | sort -u
api.example.com    api_app_pool        api_vs   /Common/api_pool   10.0.2.20    8443
api.example.com    api_app_pool        api_vs   /Common/api_pool   10.0.2.21    8443
www.example.com    example_app_pool    web_vs   /Common/web_pool   10.0.1.10    80
www.example.com    example_app_pool    web_vs   /Common/web_pool   10.0.1.11    80

 

No RepliesBe the first to reply