Organize rulebooks for event-driven automation
Projects are a logical collection of rulebooks. They must be a git repository and located in the path defined for Event-Driven Ansible content in Ansible collections: /extensions/eda/rulebooks at the root of the project.
To meet high availability demands, Event-Driven Ansible controller shares centralized Redis (REmote DIctionary Server) with the Ansible Automation Platform UI. When Redis is unavailable, you will not be able to create or sync projects.
Event-Driven Ansible controller uses PostgreSQL for data storage and background task workers via the dispatcherd service. When the workers are unavailable, you will not be able to create or sync projects, or enable rulebook activations.
Set up a new project Copy linkLink copied!
Set up a project to connect Event-Driven Ansible controller to a Git repository, enabling it to pull, sync, and manage the rulebooks used by your automation.
Before you begin Copy linkLink copied!
- You are logged in to the Ansible Automation Platform Dashboard as a Content Consumer.
- You have set up a credential, if necessary. For more information, see the Setting up credentials section.
- You have an existing repository containing rulebooks.
Procedure Copy linkLink copied!
Results Copy linkLink copied!
Your project is now created and can be managed in the Projects page.
After saving the new project, the project’s details page is displayed. From there or the Projects list view, you can edit or delete it.
Projects list view Copy linkLink copied!
The Projects list view provides a quick dashboard to verify rulebook sync status, track content via the Git hash, and manage repository access.
If a rulebook changes in source control, you can re-sync a project by selecting the sync icon next to the project from the Projects list view. The Git hash updates represent the latest commit on that repository. An activation must be restarted or recreated if you want to use the updated project.
Edit a project Copy linkLink copied!
Edit project details (like the source repository URL or credential) to manage where Event-Driven Ansible fetches its rulebooks from and how it authenticates.
Procedure Copy linkLink copied!
Delete a project Copy linkLink copied!
Use the platform gateway interface to delete a project that is no longer required from Event-Driven Ansible controller.
Before you begin Copy linkLink copied!
- A project is not currently linked to any rulebook activation.
About this task Copy linkLink copied!
You cannot delete a project if it is still being used by a rulebook activation.
Procedure Copy linkLink copied!
Update revision on launch for projects Copy linkLink copied!
The Update revision on launch option automatically syncs projects with source control. This ensures rulebook activations run the most current content, eliminating manual updates and the risk of outdated execution.
- Rulebook activations that use the latest code from source control
- Reduction in manual intervention and potential for human error
- Consistent behavior with automation controller project management
- Prevention of production delays caused by manual sync requirements
- Checks the remote source control repository for updates
- Synchronizes the project to the current revision
- Updates cached rulebooks, roles, and collections
- Launches or restarts the rulebook activation with updated content
Event-Driven Ansible controller uses PostgreSQL for data storage and background task workers via the dispatcherd service. When the workers are unavailable, you will not be able to create or sync projects, or enable rulebook activations.
Cache Timeout in Event-Driven Ansible projects Copy linkLink copied!
The cache timeout setting controls how long Event-Driven Ansible controller reuses a previous project synchronization result before performing a new sync operation.
- Multiple rulebook activations use the same project
- Activations launch or restart in rapid succession
- You want to avoid redundant synchronization operations
- Source control repository has rate limiting or performance constraints
- Synchronization request fetches content from source control
- Result is cached for the specified timeout duration
- Subsequent synchronization requests within the timeout period use cached content
- After timeout expires, next synchronization request fetches fresh content
Project and rulebook activation settings interdependencies Copy linkLink copied!
Project and activation settings are interdependent. The Update revision on launch and Auto-restart on project update configurations combine to determine auto-restart behaviors and trigger specific user confirmation prompts.
| Triggered by | Project State | Activation State | Resulting Behavior |
|---|---|---|---|
| Rulebook activation started or restarted | Enabled (Update revision on launch ON) | Enabled or Disabled | A message informs you that the project is configured to update on restart, which might impact other activations sharing this project. You must confirm to proceed. |
| Rulebook activation started or restarted | Disabled (Update revision on launch OFF) | Enabledor Disabled | A standard message is displayed for the user to confirm they want to restart the rulebook activation. |
| Project synced | Enabled or Disabled | Enabled (Auto-restart on project update ON) | A message informs you that the associated rulebook activation is configured to restart when this project syncs. You must confirm the sync. |
| Project synced | Enabled or Disabled | Disabled (Auto-restart on project update OFF) | A standard message is displayed for the user to confirm they want to sync the project. |