A simple workflow framework to help automate admin and user tasks in and around OpenStack via a pluggable API exposing tasks made up of easily chainable actions.
Go to file
Callum Dickinson c99499d9df Add new configuration options for task emails
This change extends the functionality for sending emails
in task stages.

Add the following configuration options for configuring
what email address to send task emails to:

* `to` (`str`) - Send the email to the given arbitrary email address
* `email_current_user` (`bool`) - Email the user who initiated the task

New variables have also been added to the task email template context,
to allow referencing other candidate email addresses in the template
(e.g. "A confirmation email has been sent to `<new email address>`
to confirm your email change"):

* `from_address` (`str`) - The email address the email is being sent
  from internally. Not always the same as the `From` header,
  which is set to `reply_address`.
* `reply_address` (`str`) - The reply-to email address added to the
  email header.
* `email_address` (`str`) - The target email address for this
  email template.
* `email_current_user_address` (`str | None`) - The email address of
  the user that created the task, if available.
* `emails_action_addresses` (`dict[str, str]`) - The recipient
  email addresses configured on the task actions, if a recipient
  email address is set. The key is the action name, the value is
  the target email address.

Multiple emails can now be sent per stage in a task by defining
the `emails` (`list[dict[str, Any]]`) option, and setting
configuration overrides for each individual email.

Change-Id: Ifc83c42bdefcc24e343b8489a917080e6c9785dc
2024-07-24 10:58:19 +12:00
adjutant Add new configuration options for task emails 2024-07-24 10:58:19 +12:00
api-ref Fix pluralisation of quotas in api-ref 2021-02-18 20:56:44 +13:00
doc Update documentation to reflect newer OpenStack and confspirator 2023-01-04 07:24:00 +00:00
etc Update CONFspirator with example and toml support 2020-08-07 20:28:24 +12:00
releasenotes Add new configuration options for task emails 2024-07-24 10:58:19 +12:00
.coveragerc Additional Tests for Notification, Token and Email 2017-09-01 15:26:29 +12:00
.git-blame-ignore-revs Rename git-blame-ignore-revs 2021-02-18 16:04:02 +01:00
.gitignore Added support for reno release notes 2019-07-02 15:04:04 +12:00
.gitreview OpenDev Migration Patch 2019-04-19 19:27:57 +00:00
.zuul.yaml Upgrade to Django4 2024-07-11 11:38:40 +12:00
bindep.txt Upgrade to Django4 2024-07-11 11:38:40 +12:00
LICENSE adding license file 2017-05-12 16:02:04 +12:00
package_readme.rst Update docs building 2019-08-11 12:06:13 +02:00
README.rst Fix gates for Antelope and update Django 2022-12-07 19:52:27 +13:00
requirements.txt Upgrade to Django4 2024-07-11 11:38:40 +12:00
setup.cfg Upgrade to Django4 2024-07-11 11:38:40 +12:00
setup.py Reformat with updated version of black formatter 2020-09-17 12:56:00 +12:00
test-requirements.txt Use unittest.mock instead of third party mock 2020-03-24 07:47:24 -05:00
tox.ini Support tox4, update style to match Black 23.1a1 2023-01-04 17:06:31 +13:00

Team and repository tags

image

Adjutant

A basic workflow framework built using Django and Django-Rest-Framework to help automate basic Admin tasks within an OpenStack cluster.

Primarily built as user registration service that fits into the OpenStack ecosystem alongside Keystone, its purpose to fill functionality missing from Keystone. Ultimately it is just a framework with actions that are tied to an endpoint and can require certain data fields and perform actions via the OpenStack clients as well as talk to external systems as needed.

Useful for automating generic admin tasks that users might request but otherwise can't do without the admin role. Also allows automating the signup and creation of new users, and allows such requests to require approval first if wanted. Due to issuing of uri+tokens for final steps of some actions, allows for a password submit/reset system as well.

Documentation

Documentation can be found at: https://docs.openstack.org/adjutant/latest

Documentation is stored in doc/, a sphinx build of the documentation can be generated with the command tox -e docs.

An API Reference is stored in api-ref. This is also a sphinx build and can be generated with tox -e api-ref.