Ansible forms is a lightweight Node.js webapplication to generate userfriendly, pretty but yet powerful forms to kickoff ansible playbooks or AWX (ansible tower) templates.

The webapplication reads one or more YAML files which describe the forms.

Includes dockerfile and docker compose git-project you can deploy (with ansible & mysql included)

Capabilities :

  • Categorize forms
  • Role based access
  • Classic fieldtypes (text, password, number, boolean, radio, checkbox, enum)
  • Dynamic source fields (dropdown box field)
    • Database (MySql, Postgres,MSSql,MongoDb
    • Rest, Yaml, Json
    • or custom javascript expression (local or remote)
  • Expression fields (dynamic field)
    • Database (MySql, Postgres,MSSql,MongoDb
    • Rest, Yaml, Json
    • or custom javascript expression (local or remote)
  • Table entry field
  • Cascaded dropdown using field placeholders
  • Field dependencies
  • Add icons (font awesome)
  • Field validations (regex, required, minValue, maxValue, ...)
  • Group fields
  • Nested output modelling (control the form output in a multilevel object)
  • Json web tokens authorization (jwt) (access & refresh)
  • Environment variables
  • Ldap & local authentication
  • Credential manager
  • Local ansible execution with joboutput and joblogs
  • AWX/Tower template execution
  • Git pull/push execution
  • Multistep execution
  • Email notifications
  • Approval points
  • Swagger/Rest api
  • Built-in YAML editor/designer with schema validation
Requirements :
  • Node.js capable server or container
  • MySql/MariaDb
  • Connection to AWX (token) and/or local Ansible
Technologies :
  • Frontend
    • Vue 2
    • Bulma.io (responsive css framework)
    • FontAwesome (icon font library)
  • Backend
    • Express.js
  • Database
    • MySql/MariaDb