Ansible UI: Semaphore UI vs Ansible Automation Platform (AAP)

Denis GukovFounder & CTO at Semaphore UI
17 min read

Semaphore UI and Red Hat Ansible Automation Platform (AAP) help teams run, schedule and share Ansible automation. AAP’s automation controller was previously known as Ansible Tower. This comparison explores how both platforms handle everyday automation, what they require to operate and when Semaphore’s capabilities, deployment options and pricing make it a better fit. This comparison covers AAP 2.6 and Semaphore UI 2.20.0.

Discuss this article with AI

Overview

As Ansible moves from an engineer’s laptop into daily operations, teams need repeatable jobs, shared credentials, controlled access and a record of changes. Some also need a supported content supply chain and a way to distribute execution across many sites.

Red Hat Ansible Automation Platform addresses that wider platform requirement. Automation controller runs jobs and workflows, automation hub distributes content, Event-Driven Ansible responds to events, and automation mesh places execution near managed infrastructure. AAP is a commercial product with a defined support lifecycle, distinct from its open-source upstream AWX.

Semaphore UI brings repositories, inventories, credentials and variables together in projects. Engineers prepare deployments, patching or certificate-renewal jobs, then share them through launch forms, schedules and workflows. Direct templates also run Terraform/OpenTofu, Terragrunt, Bash, PowerShell and Python. Teams can build that operational service on existing infrastructure and add Pro or Enterprise capabilities as their access, execution and support requirements grow.

Semaphore UI task templates for several automation tools in one project.
Semaphore UI. Prepared Ansible, Infrastructure as Code and command-line operations share a project’s task list.
Red Hat Ansible Automation Platform 2.6 interface.
Ansible Automation Platform. The Ansible Automation Platform 2.6 interface. Official Red Hat product illustration. Source

Quick comparison

Both platforms provide a shared interface for Ansible operations. Compare that everyday work alongside the additional content, event-processing and distributed-execution services included in AAP’s wider scope.

Ansible Automation Platform and Semaphore UI: key characteristics
Criteria Semaphore UI Ansible Automation Platform
Automation tools Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell, Python Ansible, Terraform integrations and other tools through playbooks
Installation Binary, native packages, Docker, Kubernetes Podman containers on RHEL, OpenShift Operator, RPM migration path in 2.6
Task execution On the server or runners On execution servers or Kubernetes job pods, connected by automation mesh
Workflows Yes, visual workflows across automation tools Yes, visual Ansible workflows with reusable subworkflows
Scheduling Cron expressions, one-time runs One-time and recurring schedules
Inventory management Static and Git definitions, dynamic discovery at run time Managed host/group records, source synchronization and stored facts
Access control Project roles, Enterprise custom roles and template permissions Organizations, teams, custom roles and independent resource permissions
Credentials Key Store, SSH keys, passwords, external vault integrations Credential objects, SSH keys, passwords, external vault integrations
Content distribution Git repositories and external Ansible collection registries Private automation hub and Red Hat content ecosystem
Commercial model MIT Community, commercial Pro and Enterprise Commercial Red Hat subscription and product lifecycle

A team sharing deployments, maintenance and provisioning can cover much of that work with Semaphore UI’s templates, reusable project resources and workflows. Direct IaC and language-specific templates extend the same service beyond Ansible. AAP adds a broader content ecosystem, managed Ansible resources and platform services. When those additional services are not required, Semaphore UI offers a more focused investment in the automation the team actually uses.

Feature comparison

Ansible operations depend on host information, credentials and permissions as well as playbook execution. Content distribution and event processing become additional concerns as teams share automation across more environments.

Installation and setup

The installation should match the service the team needs to operate. AAP supports RHEL and OpenShift deployments, while Semaphore UI also offers standalone binaries and native packages.

SupportedPartially supportedNot supported
Installation and setup: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Standalone binary Yes No
Native Linux packages YesDEB / RPM YesDeprecated RHEL 9 RPM migration path
Native Windows server YesAnsible requires WSL/container/Linux runner NoRHEL and OpenShift deployments
Deployment without Kubernetes Yes Yes
Kubernetes deployment YesHelm chart YesRed Hat OpenShift Operator
High availability YesEnterprise YesTested enterprise topologies

AAP 2.6 supports a containerized Podman installation on RHEL and an Operator-based installation on OpenShift. Its older RPM installer remains supported on RHEL 9 in 2.6 for migration, but is deprecated. Red Hat documents supported topologies and a product lifecycle for those deployments. Kubernetes is not a requirement for every AAP installation.

Semaphore UI can run as a binary or native package on an existing host, as well as through Docker or Kubernetes. A team introducing a shared interface for Ansible can choose a conventional server installation and reuse the repositories and infrastructure it already operates. Enterprise adds high availability when the automation service needs redundant application instances. The Semaphore UI server also runs natively on Windows, while Ansible execution needs WSL, a container or a Linux runner.

Semaphore UI can share patching and deployment jobs from an existing server. AAP’s deployment topology depends on the selected components and the execution capacity the team needs to maintain.

Automation tools

A platform may execute a tool through Ansible without offering that tool its own template and lifecycle.

SupportedPartially supportedNot supported
Automation tools: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Ansible playbooks Yes Yes
Terraform/OpenTofu YesNative task template YesThrough Ansible playbooks and integrations
Terragrunt YesNative task template YesThrough Ansible playbooks
Bash YesNative task template YesThrough Ansible playbooks
PowerShell YesNative task template YesThrough Ansible playbooks
Python YesNative task template YesThrough Ansible playbooks
IaC templates without playbooks YesNative Terraform/OpenTofu and Terragrunt templates NoAnsible Job Templates invoke IaC tooling
Built-in Terraform state backend YesProHTTP backend, version history and state UI NoUse a Terraform service or external backend

AAP uses Ansible playbooks and execution environments, container images containing the Ansible runtime and required dependencies. Its Terraform integrations include collections for coordinating Terraform services, and playbooks can invoke other command-line tools. This is a coherent model when Ansible already orchestrates the whole procedure.

Semaphore UI is also built around practical Ansible operations, while giving Terraform/OpenTofu, Terragrunt, Bash, PowerShell and Python their own Task Templates. For Terraform/OpenTofu, an engineer selects the repository, configuration directory, workspace and Variable Group in the interface. The IaC tool runs directly, without an Ansible playbook written solely to invoke it. An Ansible deployment, Terraform provisioning job and Python verification task can therefore share a project while keeping their own run settings.

For example, a temporary test environment may need infrastructure creation followed by application configuration and a readiness check. Semaphore UI keeps those steps in their existing tools and connects them through a workflow. This is useful for teams whose automation has grown across several repositories and languages but who still want one place to launch and review the operation.

Configure separate state/backend addresses or supported workspaces for development, staging and production. Workspace support depends on the selected backend. Semaphore UI Pro can host that state itself through its built-in HTTP backend, with state version history and management in the interface. For a team creating temporary environments, the provisioning template, its state and the later Ansible configuration stay in one service. AAP’s documented Terraform integrations use Terraform services or a configured external backend for state. Semaphore UI can retain an external backend too when the team already has one.

For a process that must approve and apply the exact saved Terraform plan, configure explicit plan storage and reuse. Semaphore UI’s default execution plans and applies separately, and its default commands use -lock=false unless overridden. Providing a state backend does not change those task command settings.

Templates and scheduling

Both products save the configuration of an operation so colleagues can launch it repeatedly. The product names differ: Job Templates in AAP and Task Templates in Semaphore UI.

SupportedPartially supportedNot supported
Templates and scheduling: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Saved task configuration Yes Yes
Surveys (run inputs) Yes Yes
Shared configuration across jobs YesNamed Variable Groups assigned to templates YesInventory variables and files in Git
Repository branch at launch Yes Yes
Scheduled runs YesCron expressions and one-time runs YesOne-time and recurring schedules

An AAP Job Template saves the project, playbook, inventory, credentials and execution environment for an operation. Launching it creates a job. A survey collects the inputs enabled for that launch, so an operator can run a prepared procedure without recreating its configuration.

Semaphore UI uses Task Templates for the same reusable-launch pattern across Ansible and its other automation tools. An Ansible template selects the repository, playbook, inventory and credentials. Named Variable Groups hold configuration reused across templates, while survey fields collect the values needed for an individual run. AAP can reuse variables through inventories and files in Git.

Consider a service-restart procedure shared with support colleagues. An engineer prepares the playbook and environment configuration, then asks for the service name and a change reference in the launch form. The colleague selects the operation, provides those inputs and can follow its status and output. Separate templates can expose a deployment, a backup or a certificate renewal using the same project resources.

Both products also schedule saved templates. AAP provides one-time and recurring schedules, while Semaphore UI supports cron expressions and one-time runs with configured inputs. The backup used before a manual maintenance window can also run overnight on a schedule. This lets the team reuse an operational procedure instead of maintaining a separate cron command and web-launch configuration.

Inventory

Both platforms can use Git-based inventories and external discovery sources. The main difference is what the platform does with that information: AAP maintains host and group records through inventory synchronization, while Semaphore UI uses inventory definitions and discovery plugins when tasks run.

SupportedPartially supportedNot supported
Inventory: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Git-based inventories Yes Yes
Dynamic inventories Yes Yes
Inventory refresh PartialDiscovery during execution YesScheduled updates and update-on-launch
Computed inventory groups YesAnsible constructed plugin YesManaged constructed inventories
Managed fact cache NoConfigure Ansible caching separately YesOpt-in host fact storage
Editing hosts and groups PartialEdit INI/YAML definitions YesIndividual host and group controls

AAP synchronizes inventory sources into managed hosts and groups, with stored facts and constructed inventories for more involved Ansible operations. An operator can inspect and manage individual host information in the same platform used to launch jobs. That is useful when maintaining those records and combining inventory sources are part of daily operations. AAP can refresh inventory sources on a schedule or before launch and optionally retain host facts in a managed cache.

Semaphore UI reuses static or Git inventory definitions and Ansible discovery plugins, including those for NetBox and cloud APIs. Operators can edit INI/YAML definitions in the interface, or keep Git and external discovery as the source of host information. A template selects the inventory it needs when the operation runs. Dynamic discovery takes place during execution. Ansible’s configured fact caching remains available, while Semaphore UI does not provide a controller-managed fact cache.

For a team that already maintains its estate outside the automation interface, this avoids introducing a second host-management process simply to share jobs. The same inventory can serve patching, certificate checks and deployments, with separate templates and inputs for each operation. AAP’s synchronized host and group view remains valuable when operators need that managed view, rather than only an inventory to execute against.

Secrets

Credentials supply the SSH keys, passwords and other authentication details a prepared job needs. Both platforms store credentials and can retrieve values from external vaults.

SupportedPartially supportedNot supported
Secrets: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Credential storage Yes Yes
HashiCorp Vault YesPro Yes
Azure Key Vault YesEnterprise Yes
AWS Secrets Manager YesEnterprise Yes
Built-in OpenBao lookup YesPro NoNo dedicated connector
Devolutions Server lookup YesEnterprise YesAnsible collection
CyberArk lookup YesEnterprisePVWA REST API YesCCP and Conjur
Built-in Centrify Vault lookup No Yes
Built-in Thycotic lookups No YesSecret Server and DevOps Secrets Vault

Both products store credential references with the prepared operation. An engineer can configure repository access, machine credentials and other secrets once, then reuse them across deployments and maintenance jobs. Colleagues launching the operation do not need to supply those credentials again for each run.

AAP supports credential objects and external secret lookups, including HashiCorp Vault, AWS Secrets Manager, Azure and CyberArk integrations. Semaphore UI provides a project Key Store and connects HashiCorp Vault or OpenBao in Pro. Enterprise adds AWS Secrets Manager, Azure Key Vault, Devolutions Server and CyberArk through its PVWA API. AAP can use the Devolutions Ansible collection inside playbooks, with the collection installed in the execution environment. Its built-in credential connectors do not include a dedicated OpenBao lookup. AAP also provides Centrify Vault and Thycotic Secret Server or DevOps Secrets Vault connectors, which Semaphore UI does not expose as built-in storages. An Ansible lookup collection or a command can retrieve secrets for an operation when a platform connector is absent, with that integration maintained in the automation. Teams can therefore choose around their existing vault and the connections they want to configure in the platform itself.

Execution

A saved template describes what to run. Execution settings determine which server runs it and which runtime supplies its dependencies.

SupportedPartially supportedNot supported
Execution: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Remote execution YesRunners YesAutomation mesh execution nodes
Execution routing YesProRunner tags on templates or inventories YesInstance groups assigned to resources
Ansible roles and collections YesInstall from requirements.yml YesInstall during project sync
Containerized tasks YesProDocker executor YesAnsible execution environment images
Kubernetes job pods YesEnterprise YesContainer groups
Concurrency controls YesTemplate, project and instance limits YesConcurrent jobs and instance-group capacity

AAP runs jobs in execution environments containing Ansible and the playbook’s dependencies. Execution nodes run work away from the control services. Automation mesh connects those nodes and can use intermediate hop nodes to reach remote networks. This supports a distributed Ansible estate with defined execution images and network paths.

Semaphore UI can run automation on its server or on runners placed near the target systems. For example, a runner inside a private network can execute an Ansible maintenance job against its local hosts while the shared interface remains elsewhere. Global runners are available in Community, while Pro adds project-assigned runners and tag-based routing for different execution environments.

A team can start with direct execution and add separate machines or per-task containers when its workloads need them. Pro provides Docker task execution and Enterprise adds Kubernetes task execution. This gives a service running existing playbooks a path from a single host to separated execution without requiring an automation-mesh deployment. Containerizing the application server is a separate choice from containerizing each task.

Workflows

Workflows connect saved templates into a larger procedure, such as provisioning a server, configuring it and checking the result.

SupportedPartially supportedNot supported
Workflows: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Visual workflow editor Yes Yes
Mixed-tool workflow steps YesNative Ansible, IaC and language templates YesAnsible Job Templates invoke other tools
Multiple starting nodes No Yes
Branch joins Yes Yes
Success/failure branches Yes Yes
Approval steps Yes Yes
Separate approval permission No Yes
Workflows as steps No Yes
Passing workflow values Yes Yes

AAP Workflow Job Templates connect Job Templates, project updates, inventory updates and other workflows. Approval steps pause a run, and Ansible set_stats values can be passed to later jobs. Embedding a workflow is valuable when several procedures share a complete sequence that should be maintained once.

Semaphore UI workflows connect Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell and Python Task Templates directly, with success and failure branches, approvals and delays. A provisioning workflow can create infrastructure with Terraform/OpenTofu, configure it with Ansible and run a Python readiness check. A maintenance workflow can start with a backup, apply updates and run verification, reusing templates that colleagues can also launch separately. AAP can orchestrate the same procedure through Ansible Job Templates and Terraform integrations. The difference is whether each tool’s run configuration lives in its own template or in the playbooks and integrations behind Ansible jobs.

Semaphore UI 2.20 passes Ansible set_stats values, Terraform/OpenTofu/Terragrunt outputs and JSON from Bash, PowerShell or Python into later task inputs. An address or resource identifier returned by provisioning can therefore become an input to the next operation. AAP passes set_stats values between Ansible jobs. Both provide useful value passing, with the distinction being how the result is produced and consumed. The receiving template declares the input, which its playbook or inventory configuration then uses to target the new host.

AAP provides an assignable Approve permission for workflow approvals. Semaphore UI 2.20 ties approval to permission to run project tasks. A separate approver role is announced for 2.21.0. This matters when approval responsibility needs its own permission.

A provisioning-and-configuration workflow can pass collected values between Semaphore UI tasks using the local executor, either on the server or on a remote runner. Docker and Kubernetes executors do not collect these outputs, so a workflow that depends on them needs another execution arrangement. Individual task templates remain reusable across workflows. If several procedures need to reuse an entire multi-step workflow, AAP’s nested workflows avoid maintaining those sequences separately. In either platform, files such as saved Terraform plans require accessible storage or an explicit transfer between jobs.

Access control

Delegating an operation and allowing an operator to combine arbitrary inventories and credentials are different access requirements.

SupportedPartially supportedNot supported
Access control: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Role-based access control YesProject roles YesOrganization, team and resource roles
LDAP authentication YesPro Yes
OIDC single sign-on YesPro Yes
SAML single sign-on NoOIDC available Yes
Custom roles YesEnterprise Yes
Independent inventory and credential permissions NoResource access follows project roles Yes
Template-level execution permissions YesEnterprise Yes

AAP grants access to individual resources and supports custom roles. Operators can receive permission to use particular inventories and credentials independently of job templates. This suits teams whose daily work includes combining authorized Ansible resources into new operations.

Semaphore UI organizes access around projects and prepared operations. Community project roles already support a division between engineers maintaining automation and colleagues running it. A project can bring together a team’s deployment, backup and maintenance templates, along with their configured resources.

Enterprise adds custom roles and template-level execution permissions when access must be limited to selected operations. For example, support staff can receive a service-restart template while deployment remains with another role. The inventory, credentials and enabled launch overrides are part of the prepared configuration. This is a focused model for delegating operations, while AAP offers independent permissions on the underlying resources.

Semaphore UI template permissions showing a Production maintenance operator role allowed to run tasks.
Semaphore UI. Enterprise template permissions delegate a prepared operation to a specific role.
Ansible Automation Platform 2.6 team roles for inventories, credentials and job templates.
Ansible Automation Platform. Roles are assigned to individual inventories, credentials and job templates. Official Red Hat example. Source

Both support LDAP integration. Semaphore UI Pro also offers OIDC sign-in, while AAP supports OIDC, SAML and other centrally configured identity providers. Semaphore UI does not provide a built-in SAML integration. Semaphore UI Pro also adds TOTP two-factor authentication for local accounts.

Logs and audit

SupportedPartially supportedNot supported
Logs and audit: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
Run history and logs Yes Yes
Ansible host/task results YesPro Yes
Administrative audit trail YesSign-ins and recorded actions YesResource activity stream
External log forwarding YesProAudit events over Syslog or HEC YesController logging integrations

Operational results come first when a colleague needs to know whether a deployment or maintenance job finished. Both products retain execution output and history. Semaphore UI records the task status, repository revision and launch details, and Pro adds an Ansible host summary showing failed tasks per server. After a patch or certificate job, the operator can identify affected hosts and inspect the corresponding output.

Administrative audit serves a different purpose. AAP’s activity stream records changes to platform resources, and logging integrations forward job and system events. Semaphore UI provides an administrator audit log for sign-ins, permission changes and other recorded actions. Pro adds filters, file export and TLS Syslog or Splunk HEC forwarding, allowing those events to join the organization’s security investigations and SIEM records.

Integrations

APIs and webhooks let an existing CI pipeline or event processor start prepared operations. AAP also includes separate services for content distribution and event-driven automation.

SupportedPartially supportedNot supported
Integrations: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
REST API Yes Yes
Job webhooks YesGeneric endpoints, matchers and value extraction YesGitHub and GitLab webhooks
Job notifications Yes Yes
Event-processing rules PartialWebhook matchers and value extraction YesEvent-Driven Ansible rulebooks
Private Ansible collection registry NoUse an external collection registry YesPrivate automation hub

AAP’s automation hub distributes collections and execution images, with access to Red Hat Certified and validated content. Event-Driven Ansible evaluates events through rulebooks and triggers automation. These are platform services for managing and initiating automation across an organization, beyond an incoming webhook for a saved job.

Semaphore UI fits alongside existing CI, monitoring and request systems through its REST API and webhook integrations with matching and input extraction. A build pipeline can publish a version and request a prepared deployment, while an event processor can request a diagnostic operation. Semaphore UI holds the inventory, credentials and execution record for that operation. The caller handles authentication and checks the task result when the surrounding process needs to wait for completion.

Both Semaphore UI and automation controller provide launch forms for prepared jobs. AAP also offers a separately deployed Ansible automation portal built on Red Hat Developer Hub, with a self-service catalog, template synchronization and custom integrations. Developer Hub use for that portal is included in the AAP subscription. For teams that need shared job execution without that catalog, Semaphore UI provides a focused interface for Ansible and other automation tools.

Semaphore UI launch form with selected service, service state, environment and change reference.
Semaphore UI. A prepared operation collects service and environment choices directly in its launch form.
Ansible Automation Platform 2.6 self-service portal reviewing an inventory, credential and service survey before launch.
Ansible Automation Platform. The self-service portal guides a request through its inputs and a review step. Official Red Hat example. Source

AI-assisted automation

SupportedPartially supportedNot supported
AI-assisted automation: Ansible Automation Platform and Semaphore UI
Criteria Semaphore UI Ansible Automation Platform
MCP access YesCommunity connector YesOfficial AAP MCP server

AAP offers an official MCP server that exposes platform operations to compatible assistants. It can be deployed with the platform or as a standalone container. AAP also provides an optional automation intelligent assistant in its interface, connected to a configured model provider. This extends its integrated platform approach into AI-assisted operations.

Semaphore UI has a community MCP connector for its API and has announced official MCP support for Pro in version 2.21.0. Claude Code or Codex can also consult its public documentation, source code and API definitions to help prepare templates, write integration code or investigate a failed run from the supplied configuration and output. A team can use that assistance alongside its existing automation service without adopting a wider platform.

Licensing and support

AAP is an enterprise platform subscription, while Semaphore UI offers a free automation service with commercial editions in the same product family. When the requirement is shared job execution rather than the wider Red Hat ecosystem, Semaphore UI can be substantially simpler and more economical.

Different purchasing scope

AAP’s subscription combines platform capabilities, Red Hat support, content and a product lifecycle. Its value grows when an organization needs that ecosystem across its automation estate. AWX remains a separate open-source upstream project, rather than a free AAP subscription tier.

Semaphore UI Community is free and MIT-licensed. Templates, surveys, Variable Groups, schedules, workflows, project roles, history and global runners already provide the basis of a shared automation service. A team can use that service for deployments, maintenance and provisioning, then select Pro or Enterprise for the state, execution, access, availability and support requirements it actually has.

For a team whose main requirement is sharing existing Ansible and IaC operations, this can mean a smaller platform investment and less infrastructure to operate. The difference depends on the required edition and capacity, and on which AAP services the organization would otherwise use. AAP’s wider scope does not mean every component has to be installed.

Support commitments

Both vendors offer commercial support. Red Hat defines coverage and response commitments through the applicable support subscription and incident severity, alongside AAP’s published product lifecycle.

Semaphore UI Pro includes business-time vendor support. Enterprise offers tailored SLA options and assistance with onboarding, configuration, upgrades and migration. Teams can obtain support within the same product family, with additional services for more demanding environments.

How to choose

Choose around the work the team needs to share and the services it needs around that work. A prepared restart, a scheduled backup and a provisioning workflow need a different platform scope from a company-wide Ansible content and governance service.

When to choose Ansible Automation Platform

AAP is a strong fit when operating an enterprise Ansible platform is itself a core requirement.

  • You need the Red Hat content and support ecosystem. Certified collections, private automation hub and a defined product lifecycle are procurement or operational requirements.
  • The platform owns your Ansible resources. Operators manage hosts, synchronize inventory sources and assign independent access to inventories and credentials.
  • You need the additional platform services. Automation mesh, nested workflows or Event-Driven Ansible replace infrastructure your team would otherwise build and maintain.

When to choose Semaphore UI

Choose Semaphore UI when engineers need a shared interface for existing automation without a requirement for the wider Red Hat platform ecosystem.

  • Colleagues need prepared operations they can run. Engineers configure deployments, backups, service restarts or certificate renewals once, using shared inventories, credentials and Variable Groups. Colleagues supply the run inputs and review the result in the same interface.
  • Provisioning and operations span several tools. Run Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell and Python directly, then connect them in workflows. Add Pro state storage when you want a shared Terraform/OpenTofu backend alongside those jobs.
  • You want to build on the systems you already maintain. Reuse Git inventories and external discovery, keep CI and event handling in their existing services, and deploy a binary, package or container on available infrastructure. Runners can place execution near private systems.
  • You need focused commercial capabilities and support. Select Pro or Enterprise for the execution, access and availability controls your service needs, with vendor support in the same product family. This can be more economical when the wider Red Hat content and platform ecosystem is not part of the requirement.

FAQ

Can we reuse existing Ansible Tower or AAP playbooks in Semaphore UI?

Existing Ansible playbooks and Git-based inventory definitions can be reused. Job Templates, credential references, surveys, schedules and permissions need corresponding Semaphore UI configuration. Check the dependencies supplied by your execution environments and the behavior of existing workflows when preparing the new templates.

Can Semaphore UI connect Ansible and Terraform in one workflow?

Yes. Dedicated Terraform/OpenTofu or Terragrunt templates can precede Ansible configuration and a verification task. Semaphore UI 2.20 passes collected values into declared inputs of later templates when using the local executor on the server or a runner. Passing a value does not transfer a saved plan or another file.

Can support staff run prepared jobs without administering the project?

Yes. Semaphore UI Community includes a Task Runner role for launching project templates with read-only access to other project resources. Enterprise adds custom roles and execution permissions for selected templates. AAP separately controls Job Template execution and access to underlying inventories and credentials, which is useful when operators must combine authorized resources themselves.

Can we self-host without a Kubernetes cluster?

Yes, with either product. Semaphore UI supports a binary, native packages and Docker, as well as Kubernetes. AAP 2.6 supports a containerized Podman installation on RHEL alongside its OpenShift Operator deployment. Choose around the full service and support scope you need, rather than assuming AAP always requires Kubernetes.

Can we keep AAP and use Semaphore UI for selected operations?

Yes. AAP can retain its existing Ansible jobs, content distribution and inventory governance, while Semaphore UI runs selected IaC or maintenance operations. A team-implemented API connection can request those templates and check their results. Semaphore UI needs its own prepared inventory or an integration with the approved source, rather than an assumed automatic synchronization.

Which Semaphore UI edition would our team need?

Community already covers shared templates, inventories, credentials, surveys, schedules, workflows, project roles and task history. Pro adds capabilities such as state storage, project runners, Docker execution and vendor support. Enterprise adds more specific access controls, high availability and Kubernetes task execution. Select the edition from those requirements instead of treating every production use as an Enterprise requirement.

Was this article helpful?

Sources

  1. Red Hat, “Ansible components”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/discover-ansible_components (accessed: ).
  2. Red Hat, “Installation and deployment models”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/plan-ref_installation_deployment_models (accessed: ).
  3. Red Hat, “Scale automation across your infrastructure with automation mesh”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-assembly_planning_mesh (accessed: ).
  4. Red Hat, “About the Terraform integration”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/integrate-con_terraform_intro (accessed: ).
  5. Red Hat, “Orchestrate complex automation with workflow job templates”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-assembly_ug_controller_workflow_job_templates (accessed: ).
  6. Red Hat, “Understand how to configure workflows”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-assembly_ug_controller_workflows (accessed: ).
  7. Red Hat, “Configure nodes in workflow visualizer”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-ref_controller_approval_nodes (accessed: ).
  8. Red Hat, “Create repeatable, shareable job templates to standardize automation runs”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-proc_controller_create_job_template (accessed: ).
  9. Red Hat, “Schedule recurring automation”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-assembly_ug_controller_schedules (accessed: ).
  10. Red Hat, “Define automation target hosts in your inventory files”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-assembly_controller_inventories (accessed: ).
  11. Red Hat, “Sync inventory data with external sources”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-con_controller_inventory_sync_jobs (accessed: ).
  12. Red Hat, “View, create, and assign roles to grant user access to resources”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/secure-assembly_gw_roles (accessed: ).
  13. Red Hat, “Configure an external secret management system for automation”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/secure-assembly_controller_secret_management (accessed: ).
  14. Red Hat, “Define rules that trigger automation from events”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-assembly_eda_rulebook_activations (accessed: ).
  15. Red Hat, “Manage your organization’s automation content”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-manage_your_organization_s_automation_content (accessed: ).
  16. Red Hat, “Ansible automation portal architecture and licensing”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/install-con_self_service_architecture_licensing (accessed: ).
  17. Red Hat, “Ansible Automation Platform Life Cycle”. URL: https://access.redhat.com/support/policy/updates/ansible-automation-platform (accessed: ).
  18. Semaphore UI, “Installation”. URL: https://semaphoreui.com/docs/admin-guide/installation (accessed: ).
  19. Semaphore UI, “Applications”. URL: https://semaphoreui.com/docs/user-guide/apps (accessed: ).
  20. Semaphore UI, “Workflows”. URL: https://semaphoreui.com/docs/user-guide/workflows (accessed: ).
  21. Semaphore UI, “Terraform/OpenTofu”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform (accessed: ).
  22. Semaphore UI, “Inventories”. URL: https://semaphoreui.com/docs/user-guide/inventory (accessed: ).
  23. Semaphore UI, “Team roles and extended RBAC”. URL: https://semaphoreui.com/docs/user-guide/team#extended-rbac (accessed: ).
  24. Semaphore UI, “Key Store”. URL: https://semaphoreui.com/docs/user-guide/key-store (accessed: ).
  25. Semaphore UI, “Integrations”. URL: https://semaphoreui.com/docs/user-guide/integrations (accessed: ).
  26. Semaphore UI, “Community, Pro and Enterprise”. URL: https://semaphoreui.com/pricing (accessed: ).
  27. Semaphore UI, “Runners”. URL: https://semaphoreui.com/docs/admin-guide/runners (accessed: ).
  28. Semaphore UI, “High availability”. URL: https://semaphoreui.com/docs/admin-guide/ha (accessed: ).
  29. Semaphore UI, “Task Templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates (accessed: ).
  30. Semaphore UI, “Schedules”. URL: https://semaphoreui.com/docs/user-guide/schedules (accessed: ).
  31. Semaphore UI, “Semaphore local execution, workflow outputs, inventory paths, host limits and branch overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor.go (accessed: ).
  32. Semaphore UI, “Semaphore runner output capture and executor limits”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/runners/job_pool.go#L167-L192 (accessed: ).
  33. Semaphore UI, “Semaphore workflow input mapping model”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Workflow.go#L27-L44 (accessed: ).
  34. Red Hat, “Ansible Automation Platform interface example”. URL: https://www.redhat.com/en/blog/whats-new-in-ansible-automation-platform-2.6 (accessed: ).
  35. Red Hat, “Ansible Automation Platform pricing and deployment options”. URL: https://www.redhat.com/en/technologies/management/ansible/pricing (accessed: ).
  36. Red Hat, “Configure central authentication for Ansible Automation Platform”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/secure-assembly_gw_configure_authentication (accessed: ).
  37. Semaphore UI, “Authentication”. URL: https://semaphoreui.com/docs/admin-guide/authentication (accessed: ).
  38. Red Hat, “Configure logging components”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/observe-ref_controller_loggers (accessed: ).
  39. Semaphore UI, “Audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log (accessed: ).
  40. Red Hat, “Production Support Terms of Service”. URL: https://access.redhat.com/support/offerings/production/sla (accessed: ).
  41. Red Hat, “Configuring self-service automation portal”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/pdf/configuring_self-service_automation_portal/Red_Hat_Ansible_Automation_Platform-2.6-Configuring_self-service_automation_portal-en-US.pdf (accessed: ).
  42. Semaphore UI, “Variable Groups and reusable configuration”. URL: https://semaphoreui.com/docs/user-guide/environment (accessed: ).
  43. Semaphore UI, “Tasks, execution history and Ansible summaries”. URL: https://semaphoreui.com/docs/user-guide/tasks (accessed: ).
  44. Semaphore UI, “Terraform plan and apply command construction in the Semaphore UI 2.20 candidate”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/TerraformApp.go (accessed: ).
  45. Semaphore UI, “Get started”. URL: https://semaphoreui.com/docs/getting-started (accessed: ).
  46. Red Hat, “Set extra variables in job templates”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-ref_controller_job_template_variables (accessed: ).
  47. Semaphore UI, “Consul dynamic inventory”. URL: https://semaphoreui.com/docs/user-guide/inventory/consul-dynamic-inventory (accessed: ).
  48. Red Hat, “Add a source to an inventory”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-proc_controller_add_source (accessed: ).
  49. Ansible community, “Ansible constructed inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/constructed_inventory.html (accessed: ).
  50. Red Hat, “Create dynamic groups with constructed inventories”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-ref_controller_constructed_inventories (accessed: ).
  51. Semaphore UI, “Inventory types and stored resources”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Inventory.go (accessed: ).
  52. Red Hat, “Launch a job template and enable fact storage”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-proc_controller_launch_job_template (accessed: ).
  53. Semaphore UI, “Runner selection and capacity”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/RemoteJob.go (accessed: ).
  54. Red Hat, “Define where automation runs with host and node groupings”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-define_where_automation_runs_with_host_and_node_groupings (accessed: ).
  55. Semaphore UI, “Ansible role and collection installation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/AnsibleApp.go (accessed: ).
  56. Red Hat, “Configure collections from source management to run in a project”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/develop-ref_projects_collections_support (accessed: ).
  57. Red Hat, “Control where automation runs with container groups”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/administer-con_controller_container_groups (accessed: ).
  58. Semaphore UI, “Task dispatch, runner routing and concurrency”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskPool.go (accessed: ).
  59. Red Hat, “How job capacity is determined and impacts job runs”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/optimize-con_controller_capacity_determination (accessed: ).
  60. Semaphore UI, “Notification channels”. URL: https://semaphoreui.com/docs/admin-guide/notifications (accessed: ).
  61. Red Hat, “Create a notification template”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/observe-proc_controller_create_notification_template (accessed: ).
  62. Semaphore UI, “Terraform HTTP backend and state history”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/states (accessed: ).
  63. Semaphore UI, “Terraform/OpenTofu workspaces”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/workspaces (accessed: ).
  64. Red Hat, “Terraform backend configuration credentials”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/secure-ref_controller_credential_terraform (accessed: ).
  65. Semaphore UI, “Workflow template selection across automation tools”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/workflow/WorkflowQuickAddMenu.vue (accessed: ).
  66. Semaphore UI, “External secret storage types in the Semaphore UI 2.20 candidate”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/SecretStorage.go (accessed: ).
  67. Devolutions, “Ansible collection and secret lookup plugins”. URL: https://github.com/Devolutions/ansible-dvls (accessed: ).
  68. Semaphore UI, “CyberArk secret storage for Enterprise”. URL: https://semaphoreui.com/docs/user-guide/key-store/cyberark (accessed: ).
  69. Red Hat, “Review Ansible job output and host events”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/get_started-assembly_gs_auto_op (accessed: ).
  70. Red Hat, “Configure generic OIDC authentication”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/secure-proc_controller_set_up_generic_oidc (accessed: ).
  71. Red Hat, “Deploy the MCP server on Ansible Automation Platform”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/extend-assembly_deploying_ansible_mcp_server (accessed: ).
  72. Red Hat, “Use the automation intelligent assistant”. URL: https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/extend-con_using_chatbot (accessed: ).
  73. cloin, “Community MCP connector for Semaphore UI”. URL: https://github.com/cloin/semaphore-mcp (accessed: ).

Comparison by Semaphore UI Team using the documentation, repositories and product information listed above. Access dates are recorded for each source.