Skip to content

Ascender

CI License Python

Ascender provides a web-based user interface, REST API, and task engine built on top of Ansible. It is the automation platform at the centre of this project, based on the upstream AWX project and maintained by Ctrl IQ.

Requirements

  • Docker with Compose, for the development environment
  • Python 3.12, matching what the container images build against
  • A Kubernetes cluster for production, which the installer can provision for you

Installation

For production, use the Ascender installer. It deploys onto a single VM using k3s, or onto AKS, DKP, EKS, GKE, RKE2, OCP, or TKGI with a kubeconfig and a namespace.

For development, bring up the containerised environment:

make docker-compose

See Running the Development Environment in Docker for the full walkthrough, and kind.md or minikube.md for cluster-based alternatives.

Using Ascender

Once the development stack is up, create an administrator and start the services:

make adduser
make migrate

The Makefile is the entry point for day-to-day work, covering requirements, develop, and collectstatic.

To drive a running server from the command line or from a playbook, use ascender-kit or the ctrliq.ascender collection.

Testing

Ascender uses pytest, with tox for environment management.

Documentation

The Ascender ecosystem

Repository Description
ascender The platform itself: web UI, REST API, and task engine
ascender-install Installer for Ascender and Ledger, with Galaxy Proxy support
ascender-k8s-install Kubernetes installer for Ascender, Ledger, and React
ascender-pro-install Enhanced installer adding Reaqt, Registry, and Galaxy Proxy
ascender-operator Kubernetes operator that deploys and manages Ascender
ascender-ee Default execution environment image for Ascender jobs
ascender-kit The ascender command line client and Python API library
ascender-collection The ctrliq.ascender Ansible collection for a controller
ascender-ledger Reporting tool for host facts and playbook changes
ascender-galaxy-proxy Caching proxy for Ansible Galaxy collection downloads
ascender-playbooks Example playbooks for use with Ascender

Contributing

  • See CONTRIBUTING.md for development setup, testing, and pull requests.
  • Contributions require a Developer Certificate of Origin sign-off, per DCO_1_1.md.
  • Report bugs and feature ideas via GitHub Issues.
  • For security vulnerabilities, follow SECURITY.md rather than opening an issue.
  • Join the Ascender forum to discuss development topics.

License

Licensed under the Apache License 2.0. See LICENSE and NOTICE.txt.

Third-party component licenses are collected in licenses/.

About

Ascender provides a web-based user interface, REST API, and task engine built on top of Ansible. It is based off the upstream project of AWX.

Resources

Code of conduct

Contributing

Security policy

Stars

203 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages