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 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:
pip3 install pipx && pipx install jinjamator
After successfull installation you should run following commands to initialize aaa
export JINJAMATOR_AAA_LOCAL_ADMIN_USERNAME=admin
export JINJAMATOR_AAA_LOCAL_ADMIN_PASSWORD=SomeSecurePassword
jinjamator -t `pipx runpip jinjamator show jinjamator | grep Location | cut -d ' ' -f 2`/jinjamator/tasks/.internal/init_aaa
Contribute¶
Issue Tracker: https://github.com/jinjamator/jinjamator/issues
Source Code: https://github.com/jinjamator/jinjamator
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