# ansible-semaphore/semaphore

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ansible-semaphore-semaphore).**

13,766 stars · 1,265 forks · Go · MIT

## Links

- GitHub: https://github.com/ansible-semaphore/semaphore
- Homepage: https://semaphoreui.com
- awesome-repositories: https://awesome-repositories.com/repository/ansible-semaphore-semaphore.md

## Description

Semaphore is a web interface and API for running and scheduling Ansible playbooks and other infrastructure automation tools. It serves as an infrastructure automation dashboard and DevOps task scheduler for orchestrating deployments.

The platform functions as a multi-tool automation hub, providing a centralized dashboard for managing infrastructure as code using Ansible, Terraform, OpenTofu, and Terragrunt. It includes an inventory management tool for organizing target servers and containers, alongside a secret management service for storing sensitive environment variables required during execution.

The system covers a broad range of automation capabilities, including the execution of automation scripts, the scheduling of recurring tasks, and the organization of project resources. It also incorporates role-based access control to manage deployment access and a notification system to alert users of task failures.

## Tags

### DevOps & Infrastructure

- [Ansible Automation Platforms](https://awesome-repositories.com/f/devops-infrastructure/ansible-automation-platforms.md) — Provides a centralized web-based platform for managing and executing Ansible playbooks and inventories.
- [Configuration Playbook Execution](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code/management/infrastructure-orchestration/remote-execution-configurations/configuration-playbook-execution.md) — Provides a web interface and API for triggering and managing the execution of Ansible playbooks. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Automation Inventory Management](https://awesome-repositories.com/f/devops-infrastructure/automation-inventory-management.md) — Maintains collections of servers and containers organized into groups to serve as targets for automation. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Automation Orchestration Hubs](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration-hubs.md) — Runs a variety of DevOps tools including PowerShell and shell scripts through a single programmatic API and UI.
- [Task Schedulers](https://awesome-repositories.com/f/devops-infrastructure/automation-orchestration/task-execution-frameworks/task-job-management/task-schedulers.md) — Provides a mechanism to register and execute automation tasks at predefined cron-like time intervals.
- [Environment Variables](https://awesome-repositories.com/f/devops-infrastructure/environment-variables.md) — Securely stores sensitive environment variables required during the execution of infrastructure code. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Infrastructure as Code](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code.md) — Orchestrates the deployment of cloud resources through a centralized dashboard using declarative configuration tools. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Automation Orchestration](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-dashboards/automation-orchestration.md) — Provides a centralized dashboard for orchestrating deployments using Ansible, Terraform, OpenTofu, and Terragrunt.
- [OS Process Execution](https://awesome-repositories.com/f/devops-infrastructure/background-job-processing/os-process-execution.md) — Executes automation tools as independent operating system processes while capturing their standard output and error streams.
- [Deployment Access Controls](https://awesome-repositories.com/f/devops-infrastructure/deployment-access-controls.md) — Controls user permissions for interacting with and executing jobs within the deployment system. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Infrastructure Automation Scripts](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-automation-scripts.md) — Enables the execution of configuration code and shell scripts via a web interface to deploy infrastructure. ([source](https://github.com/ansible-semaphore/semaphore#readme))
- [Secret Management](https://awesome-repositories.com/f/devops-infrastructure/secret-management.md) — Provides a secure store for injecting sensitive environment variables into automation workflow execution contexts.

### Security & Cryptography

- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/role-based-access-control.md) — Restricts access to projects and task templates by mapping user identities to specific permission levels and groups.
- [Environment Variable Injectors](https://awesome-repositories.com/f/security-cryptography/secret-management/environment-variable-injectors.md) — Retrieves encrypted variables from a database at runtime to inject them as environment variables into execution processes.
- [Centralized Secrets Management](https://awesome-repositories.com/f/security-cryptography/centralized-secrets-management.md) — Provides unified storage and management of sensitive credentials for executing automation jobs across environments.

### Software Engineering & Architecture

- [Database-Backed Persistence](https://awesome-repositories.com/f/software-engineering-architecture/job-processors/database-backed-persistence.md) — Uses a relational database to persist job history, configurations, and target inventories for consistent state management.
- [Task Templates](https://awesome-repositories.com/f/software-engineering-architecture/task-templates.md) — Uses predefined templates to generate command-line arguments by injecting stored secrets and inventory variables.

### Part of an Awesome List

- [Development Environments](https://awesome-repositories.com/f/awesome-lists/devtools/development-environments.md) — Modern UI for running and managing Ansible playbooks.
