https://github.com/ngschmidt/f5-super-tribble
Provide a tool to declaratively manage F5 HTTP content-aware forwarding as code!
https://github.com/ngschmidt/f5-super-tribble
f5-bigip f5-ltm f5networks
Last synced: 11 months ago
JSON representation
Provide a tool to declaratively manage F5 HTTP content-aware forwarding as code!
- Host: GitHub
- URL: https://github.com/ngschmidt/f5-super-tribble
- Owner: ngschmidt
- License: gpl-3.0
- Created: 2021-06-27T04:01:55.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-28T01:29:23.000Z (about 5 years ago)
- Last Synced: 2025-06-26T22:19:50.381Z (about 1 year ago)
- Topics: f5-bigip, f5-ltm, f5networks
- Language: Python
- Homepage:
- Size: 149 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# F5 iRule Management
[](https://github.com/psf/black)
## Goal
Provide a declarative interface for designing and deploying common programmable logic to a virtual service.
## Overview
Python code will ingest a simplified (abstracted) YAML definition outlining desired programmability rules, and then leverage Terraform to deploy iRule to TM-OS appliance.

### Unit Testing
We want to construct *and automatically test* any non-factory (e.g. not provided by Jinja) capabilities to ensure quality is up to snuff. The approach here *MUST* be eminently testable.
Since F5 programmability rules have validation performed on import, the best way to perform testing would be to test deployment to an actual TM-OS appliance via a pipeline. We'll use Terraform to do that.
## HOWTO
### Automated method
* Clone this repository.
* Add rule definitions under `rules/`.
* Configure deployment rules under CI tool (examples will be provided)
### CLI method
```
python3 build-irule.py -i rule.yml -o rule.tcl
```
## Dependencies
* `cerberus`
* `jinja2`
* `JSON`
* `ruamel.YAML`