Introduction
Jinjamator is an automation framework built to make complex automation tasks as easy and boilerplate free as possible.
Features
Jinjamator currently has following features:
- run tasks written in python3
- run tasks written in jinja2
- register functions via content plugin system for python3 and jinja2 tasks, to have the same functionality.
- run standalone as CLI application
- run as REST API daemon, exporting tasks via REST API
- gathering of required user inputs, determined by code inspection
- validation of user inputs
- log everthing to a database (daemon mode only, CLI is on roadmap)
- support of different (customer) environments
- distributed operation (daemon mode only)
- output plugin system to further process data generated by tasks (e.g.: generate excel files from everthing)
- includes a simple single-page javascript webapp for running tasks (automatically generates wizards from the task code)
- aaa for the API, including LDAP, local users and OpenID-Connect
Content Plugins
For a list of content plugins see the `Content Plugins <https://jinjamator.readthedocs.io/en/latest/plugins/content/index.html>`_ section.
Output Plugins
- console (print data to stdout)
- excel (create a xlsx from task data)
- apic (push data to cisco ACI)
- zabbix (stream data to zabbix)
- textfile (write return value into a textfile)
- json (generate formatted, optionally syntax highlighted json)
- ssh (send output via ssh to device)
- null (supress output)
Installation
Install jinjamator by running:
.. code:: shell
pip3 install pipx && pipx install jinjamator
Contribute
Roadmap
Selected Roadmap items:
- create more documentation
- refactor frontend webapp
For documentation please refer to https://jinjamator.readthedocs.io/en/latest/
License
This project is licensed under the Apache License Version 2.0