Skip to content

Forail Backend

CI

Django REST API + Task Engine for the Forail platform.

Project History

Forail is a modernized fork of Ansible AWX, originally developed by Red Hat and the Ansible community under the Apache License 2.0. The fork was created in 2024 to refresh the runtime (Python 3.12, Django 4.2, modern frontend stack), rebrand all awx-* references to forail-*, and extend the platform with new features (dynamic surveys, drift detection, IaC scanning, multi-tenancy, OIDC+WebAuthn, OpenTelemetry observability, declarative Kubernetes operator).

Heritage attribution is preserved in NOTICE.

Tech Stack

  • Python 3.12
  • Django 4.2.17
  • Django REST Framework
  • Celery 5
  • PostgreSQL 15
  • Redis 7
  • Channels 4 (WebSocket)
  • Receptor (distributed execution)

Structure

forail/
├── api/          # REST API (DRF views, serializers, permissions)
├── main/         # Core models, signals, tasks, migrations
├── conf/         # Configuration and database-backed settings
├── sso/          # SSO integration (LDAP, SAML, Social Auth)
├── settings/     # Django settings (development, production)
├── playbooks/    # Ansible playbooks for job execution
├── locale/       # Internationalization
└── ui/           # Legacy UI (retained for AWX compatibility internals)

Development

# Vagrant VM (required for development)
vagrant up
vagrant ssh

# Run tests
pytest forail/main/tests/unit/ -v
pytest forail/main/tests/functional/ -v

# Lint
flake8

API

Base URL: /api/v2/

See docs/11-api-reference.md for the complete reference.

Documentation

Core

Features

Docker

docker build -t ghcr.io/forail-platform/forail-backend:latest .

Related Repositories

License

Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.

Releases

Packages

Contributors

Languages