Aerleon
Generate firewall configs for multiple firewall platforms from a single platform-agnostic configuration language through a command line tool and Python API.
Aerleon is a fork of Capirca with the following major additions:
- YAML policy and network definition files and pol2yaml, a converter from Capirca policy DSL to YAML.
- Network definitions with FQDN data.
- New firewall platforms can be added through plugins.
- Typed Python APIs for ACL generation and aclcheck queries.
- A SLSA-compatible verifiable release process.
- A detailed regression test suite.
- Many bug fixes and performance enhancements.
Prerequisites
Aerleon requires Python 3.10 or higher.
Installation Steps
You can install Aerleon using one of the following package managers:
Option 1: pip (Python Package Index)
Install Aerleon using pip:
pip install aerleon
Option 2: Homebrew (macOS/Linux)
Install Aerleon using Homebrew:
brew install aerleon
Overview
Aerleon provides a command line tool and a Python API to generate configs for multiple firewall platforms from a single platform-agnostic configuration language. Supported platforms include Cisco, Juniper, Palo Alto Networks, and many others.
A getting started guide is available to walk through the basics of using Aerleon.
Documentation
Full documentation can be found at https://aerleon.readthedocs.io/en/latest/.
Contributing
Contributions are welcome. Please review the contributing guidelines and code of conduct.
Contact
Official Communication Channels
- Issues: GitHub Issues.
- Discussions: GitHub Discussions.
- Community Chat: Slack Server.
Maintainers
- Rob Ankeny (ankenyr@gmail.com)
- Jason Benterou (jason.benterou@gmail.com)
Version History
Refer to the changelog for version updates.
Resources
Credits
Files and code included in this project from Capirca are copyright Google and are included under the terms of the Apache License, Version 2.0. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Contributors who wish to modify files bearing a copyright notice are obligated by the terms of the Apache License, Version 2.0 to include at the top of the file a prominent notice stating as much. Copyright notices must not be removed from files in this repository.
This README file and other documentation files may contain phrases and sections that are copyright Google. This file and other documentation files are modified from the original by the Aerleon Project Team.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Ken Celenza 📖 |
Axel F 📖 |
Brandon Bennett 💻 |
Bastian Triller 💻 |
Arzhel Younsi 💻 |
ProtonBruno 💻 |
Lou Lecrivain 💻 📖 |
ABruihler 💻 📖 |
kyleomalley 💻 📖 |
Jakob Mellberg 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Metadata
Release files for aerleon 1.18.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aerleon-1.18.0.tar.gz | 287.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aerleon-1.18.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 628.5 kB
Release files / aerleon-1.18.0.tar.gz
| Download URL | aerleon-1.18.0.tar.gz |
|---|---|
| Size | 287.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcfcbefd62b39a6412912760b95360f5bd67239b4077f542c9095f36e419e341
|
|
BLAKE2b-256 checksum How to use checksums |
32fb4c4c1efe07861f45fd6a06e67f9c5756663ff8c72fafda2ebaa7a71d0bd5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / aerleon-1.18.0-py3-none-any.whl
| Download URL | aerleon-1.18.0-py3-none-any.whl |
|---|---|
| Size | 341.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24d3c9318312007dd14c18878754629edd853a1c355ff06d9178a7561e68c4f8
|
|
BLAKE2b-256 checksum How to use checksums |
47fa283f6338ffb00c87e5f4a5aac919c7f079f5ec2d2d01d9078704e745d313
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for aerleon 1.18.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.