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

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