Ansible UI: AWX frente a Semaphore UI
AWX y Semaphore UI proporcionan interfaces web y API para ejecutar la automatización en todo un equipo. Esta comparación cubre AWX 24.6.1 y Semaphore UI 2.20.0, desde herramientas compatibles e implementación hasta flujos de trabajo, control de acceso y mantenimiento continuo.
Descripción general
Un playbook de Ansible puede empezar como un comando que un ingeniero ejecuta en su portátil. Cuando los despliegues, la aplicación de parches y la renovación de certificados pasan a ser responsabilidades compartidas, el equipo necesita un lugar común para iniciar esos trabajos, introducir parámetros, gestionar credenciales y consultar resultados. AWX y Semaphore UI ofrecen esa capa compartida, con configuraciones de trabajos guardadas, programaciones, permisos e historial de ejecución.
AWX organiza la automatización en torno a Ansible. Los equipos conectan los playbooks almacenados en Git con inventarios y credenciales, los guardan como plantillas de trabajo y combinan trabajos en flujos de trabajo. Las organizaciones, los equipos y los permisos controlan quién puede utilizar cada recurso. AWX es un proyecto de código abierto, mientras que Red Hat Ansible Automation Platform (AAP) es una oferta comercial independiente con su propio soporte y ciclo de vida.
Semaphore UI también se centra en tareas reutilizables, con playbooks de Ansible y plantillas específicas para Terraform/OpenTofu, Terragrunt, Bash, PowerShell y Python. Los proyectos reúnen estas plantillas, repositorios, inventarios, credenciales y variables. Un flujo de trabajo puede conectar el aprovisionamiento de infraestructura como código (IaC) con la configuración de hosts y el mantenimiento posterior, reuniendo las operaciones de estas herramientas en una sola interfaz.


Comparación rápida
Los trabajos, credenciales y programaciones guardados cubren las operaciones de rutina Ansible en ambos productos. Sus diferencias más amplias están en la cobertura de herramientas, la implementación y la gestión de recursos. A continuación te presentamos las principales características de cada uno.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Herramientas de automatización | Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell, Python | AnsibleOtras herramientas a través de playbooks |
| Instalación | Binario, paquetes, Docker, Kubernetes | Kubernetes (Operador), Docker (desarrollo/pruebas) |
| Plataformas de servidor | Linux, macOS, Windows, FreeBSD | Contenedores Linux (Kubernetes / Docker) |
| Ejecución de tareas | En el servidor o en máquinas de ejecución remotas | En servidores de ejecución o pods de trabajos de Kubernetes |
| Flujos de trabajo | Sí, flujos de trabajo visuales que conectan varias herramientas de automatización | Sí, flujos de trabajo visuales de Ansible con subflujos reutilizables |
| Programación | Expresiones cron, ejecuciones únicas | Programaciones únicas y recurrentes |
| Gestión de inventarios | Inventarios estáticos y Git, complementos dinámicos, NetBox y otras fuentes externas | Inventarios estáticos y dinámicos, actualizaciones gestionadas, inventarios construidos |
| Control de acceso | RBAC, roles de proyecto, roles personalizados, permisos de plantillaLDAP, OIDC, TOTP local | RBAC, roles de organización y equipo, permisos por recursoLDAP, OIDC, SAML, MFA a través de un proveedor de identidad |
| Credenciales | Key Store, claves SSH, contraseñas, integraciones con almacenes de secretos externos | Objetos de credenciales, claves SSH, contraseñas, integraciones con almacenes de secretos externos |
| Variables | Grupos de variables reutilizables, variables extra, variables de entorno, formularios de ejecución | Variables de inventario, host y grupo, variables extra, formularios de ejecución |
| Licencia | MIT (Community)Términos comerciales separados para ediciones de pago | Apache 2.0 |
Para los trabajos habituales de Ansible, ambos permiten iniciar ejecuciones, programarlas y consultar su historial. Las principales diferencias son la gestión de inventarios y permisos, las herramientas que ejecutan directamente y las opciones de despliegue.
Las funciones de Semaphore UI descritas aquí abarcan Community, Pro y Enterprise. Las indicaciones de disponibilidad señalan la edición mínima requerida. La sección «Licencias y soporte» explica las opciones comerciales.
Comparación de características
Un despliegue puede aprovisionar infraestructura, configurar hosts y esperar una aprobación antes de modificar producción. Dónde se ejecutan estos pasos, cómo intercambian resultados y quién los controla permite entender las diferencias más relevantes entre los productos.
Instalación y configuración
La instalación recomendada de AWX utiliza Kubernetes. Semaphore UI también admite implementaciones independientes, por lo que la infraestructura necesaria para alojar el servicio es un primer punto de diferencia.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Binario independiente | Sí | No |
| Paquetes nativos Linux | SíDEB / RPM | No |
| Implementación de Docker | Sí | ParcialSolo desarrollo y pruebas |
| Implementación de Kubernetes | SíChart de Helm | SíAWX Operator |
| Servidor nativo Windows | SíAnsible requiere WSL, un contenedor o un runner de Linux | NoContenedores Linux |
| Alta disponibilidad | SíEnterpriseBase de datos compartida, Redis, equilibrador de carga. | SíRéplicas, configure la conmutación por error de la base de datos por separado |
La implementación recomendada de AWX combina el operador Kubernetes, PostgreSQL y la ejecución de trabajos en contenedores. Su configuración Docker está destinada al desarrollo y las pruebas. Para un equipo Kubernetes existente, el operador sigue un modelo operativo familiar. La introducción de un clúster exclusivamente para AWX agrega infraestructura que mantener.
Semaphore UI también admite Kubernetes mediante Helm, además de instalaciones con binarios, paquetes nativos y Docker con SQLite, MySQL o PostgreSQL. Una instalación independiente puede utilizar un servidor existente sin requerir un clúster, lo que permite empezar con una infraestructura más pequeña y elegir el modelo operativo.
El sistema operativo del servidor es independiente de la ejecución del trabajo. Semaphore UI tiene un binario de servidor nativo Windows, mientras que Ansible aún necesita Linux, macOS, un contenedor adecuado o WSL. Un ejecutor Linux puede ejecutar trabajos para un servicio web alojado en otro lugar. Ambas plataformas pueden gestionar objetivos Windows a través de Ansible.
Para lograr alta disponibilidad, las opciones de escalamiento de AWX y la implementación de alta disponibilidad de Semaphore UI Enterprise requieren una planificación de recuperación y conmutación por error de la base de datos. Las instalaciones desconectadas también necesitan una ruta de entrega para paquetes, imágenes de ejecución, actualizaciones y cualquier activación de licencia de pago.
Herramientas de automatización
Una implementación puede aprovisionarse con Terraform/OpenTofu, configurarse con Ansible y finalizar con Python. AWX invoca las otras herramientas a través de playbooks, mientras que Semaphore UI proporciona plantillas de tareas directas.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Playbooks de Ansible | Sí | Sí |
| Terraform/OpenTofu | SíPlantilla de tarea nativa | ParcialA través de playbooks de Ansible |
| Terragrunt | SíPlantilla de tarea nativa | ParcialA través de playbooks de Ansible |
| Bash | SíPlantilla de tarea nativa | ParcialA través de playbooks de Ansible |
| PowerShell | SíPlantilla de tarea nativa | ParcialA través de playbooks de Ansible |
| Python | SíPlantilla de tarea nativa | ParcialA través de playbooks de Ansible |
AWX mantiene a Ansible en el centro de la ejecución. Los playbooks pueden invocar Terraform/OpenTofu, Terragrunt, Bash, PowerShell o Python a través de módulos o comandos cuando el entorno de ejecución contiene las dependencias. Esto se adapta a los equipos que ya describen su proceso de aprovisionamiento en Ansible.
Semaphore UI les da a esas herramientas sus propias plantillas. Los equipos pueden iniciar la automatización existente directamente y combinarla en flujos de trabajo sin tener que mantener playbooks adicionales solo para invocar otra herramienta. Una tarea OpenTofu puede aprovisionar infraestructura, una tarea Ansible configurar los hosts y una tarea Python completar una operación relacionada, todo en una sola interfaz.
Semaphore UI Pro ofrece un backend HTTP integrado para el state de Terraform/OpenTofu, además de workspaces y opciones de ejecución. Los equipos pueden conservar el state compartido en Semaphore UI sin operar un backend independiente. Con AWX, el proceso de Terraform utiliza el backend configurado por el equipo. La fuente de inventario Terraform State de AWX lee el state para descubrir hosts, pero no lo almacena.
La ejecución de Terraform en Semaphore UI 2.20 tiene dos límites importantes. Una ejecución normal muestra un plan antes de aplicarlo, pero no lo guarda automáticamente para aplicar después exactamente ese archivo. Si la aprobación debe cubrir el cambio concreto propuesto, configure el proceso para guardar el plan y pasarlo a apply. Además, los comandos predeterminados de Terraform desactivan el bloqueo del state salvo que se modifiquen explícitamente, incluso si el backend lo admite. Revise ambas opciones al configurar ejecuciones en producción.
Plantillas y programación
AWX llama Job Template a una configuración de Ansible guardada. Semaphore UI la llama Task Template. Cada inicio crea un trabajo independiente en AWX o una tarea independiente en Semaphore UI, con su propio estado, registros y resultado. La plantilla conserva los ajustes reutilizables, mientras que los formularios y las programaciones controlan los parámetros y el momento de la ejecución.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Configuración de tarea guardada | Sí | Sí |
| Formularios de ejecución (parámetros) | Sí | Sí |
| Conjuntos de variables reutilizables | SíVariable Groups compartidos entre plantillas | ParcialVariables de inventario o archivos en Git |
| Rama del repositorio en el lanzamiento | Sí | Sí |
| Ejecuciones programadas | SíExpresiones cron y ejecuciones únicas | SíProgramaciones únicas y recurrentes |
En AWX, un Job Template selecciona un proyecto, un playbook, un inventario y las credenciales, junto con un entorno de ejecución para las dependencias necesarias. El Ansible Task Template de Semaphore UI selecciona un repositorio, un playbook y un inventario, con Variable Groups reutilizables y opciones de Ansible en el mismo formulario. Los ingenieros preparan esta configuración una vez. Después, sus compañeros pueden iniciar la operación sin tener que reconstruirla cada vez.


Los formularios de ejecución permiten proporcionar parámetros sin editar un playbook. AWX admite validaciones como límites de longitud del texto. Las Survey Variables de Semaphore UI ofrecen campos tipados, texto multilínea, secretos y selección simple o múltiple. Los grupos de variables reutilizables separan la configuración compartida de los valores introducidos al iniciar. AWX permite compartir configuración mediante variables de inventario, host y grupo o archivos en Git, en lugar de un objeto Variable Groups independiente seleccionable en varias plantillas.
Ambos pueden ejecutar otra rama del repositorio si la configuración lo permite. AWX puede solicitar el inventario, las credenciales y otros parámetros al iniciar. Semaphore UI permite sustituir el inventario de Ansible y los argumentos de línea de comandos según lo configurado. Estas opciones dan flexibilidad a los ingenieros y permiten limitar los parámetros expuestos para los procedimientos aprobados.
Las programaciones automatizan esos lanzamientos. AWX utiliza una fecha de inicio, hora y configuración de recurrencia. Semaphore UI admite expresiones cron y ejecuciones únicas. Por ejemplo, 0 2 * * * se ejecuta diariamente a las 02:00 en la zona horaria configurada del programador, que de forma predeterminada es UTC. Cualquiera de los dos enfoques puede manejar copias de seguridad, comprobaciones de host o detener máquinas que no son de producción fuera del horario laboral.


Inventario
Ambos productos pueden utilizar archivos estáticos y descubrimiento dinámico. La principal diferencia es si los hosts descubiertos se convierten en registros administrados por la plataforma o si Ansible los resuelve cuando se ejecuta un trabajo.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Inventarios estáticos | SíEditor y archivos INI/YAML | SíRegistros de host/grupo y archivos importados |
| Inventarios en Git | SíRepositorio de inventario igual o separado | SíFuentes del proyecto SCM |
| Inventarios dinámicos | SíComplementos Ansible y scripts ejecutables | SíComplementos, scripts y fuentes administradas |
| Actualización de inventarios | ParcialDescubrimiento durante la ejecución | SíActualizaciones programadas y actualización en el lanzamiento |
| Grupos de inventario calculados | SíPlugin constructed de Ansible | SíInventarios construidos gestionados |
| Caché de facts gestionada | NoConfigure el almacenamiento en caché Ansible por separado | SíFacts de los hosts almacenados por AWX |
| Editar hosts y grupos | ParcialEditar definiciones INI/YAML | SíControles individuales de host y grupo |
AWX mantiene registros de host y grupo y los actualiza mediante trabajos de actualización de inventario, utilizando archivos estáticos, complementos de inventario Ansible o scripts ejecutables. Semaphore UI permite a los equipos editar inventarios INI/YAML o cargarlos desde Git, incluido un repositorio separado. Los complementos y scripts descubren hosts durante la ejecución. La principal distinción es si la plataforma gestiona un ciclo de vida del inventario o reutiliza la configuración Ansible del equipo.


Por ejemplo, el complemento netbox.netbox.nb_inventory descubre dispositivos y máquinas virtuales, filtra objetivos y crea grupos a partir de datos NetBox. NetBox sigue siendo la fuente de la verdad. AWX agrega controles de actualización y registros almacenados, mientras que Semaphore UI pasa la configuración a Ansible. Ambos utilizan el complemento Ansible en lugar de un conector NetBox nativo independiente. Otras fuentes incluyen AWS, Azure y Google Cloud, y Semaphore UI documenta un script Python alojado en Git para Consul.
Los inventarios construidos de AWX combinan inventarios de entrada guardados y gestionan los hosts resultantes. Semaphore UI puede utilizar el plugin constructed de Ansible para crear grupos y variables a partir de fuentes anteriores. Los plugins de caché de Ansible pueden conservar facts, pero Semaphore UI no ofrece la caché de facts gestionada de AWX. El almacenamiento, la caducidad y el uso compartido de la caché entre runners siguen siendo parte de la configuración de Ansible.
Semaphore UI tiene previsto incorporar informes de Ansible al estilo de ARA en la versión 2.21.0. Complementarán las funciones de inventario con una vista de cada host y de su historial de automatización, lo que ayudará a los operadores a ver qué tareas se ejecutaron en cada servidor, cuándo y dónde se produjeron fallos.
Elija el modelo de inventario de AWX cuando los operadores necesiten explorar, actualizar y administrar registros de host en la plataforma. Semaphore UI se adapta a una configuración en la que Git define el inventario o Ansible descubre hosts de sistemas como NetBox y API en la nube en el momento de la ejecución.
Secretos
Los trabajos guardados necesitan credenciales sin que los operadores tengan que pegar contraseñas o tokens de nube en cada ejecución. Las opciones de almacenamiento y consulta determinan cómo llegan esas credenciales al trabajo.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Almacenamiento de credenciales | Sí | Sí |
| HashiCorp Vault | SíPro | Sí |
| OpenBao | SíPro | NoSin integración incorporada, se debe probar la compatibilidad con Vault |
| AWS Secrets Manager | SíEnterprise | Sí |
| Azure Key Vault | SíEnterprise | Sí |
| Devolutions Server | SíEnterprise | NoNo hay integración incorporada, es posible una conexión personalizada |
Los objetos de credenciales AWX y el almacén de claves de Semaphore UI proporcionan credenciales para trabajos guardados sin necesidad de que un operador los pegue en cada inicio. Ambos se integran con HashiCorp Vault, AWS Secrets Manager y Azure Key Vault, para que los equipos puedan seguir utilizando esos servicios existentes.


Otras integraciones distinguen los productos. AWX ofrece CyberArk Central Credential Provider, CyberArk Conjur y tipos de credenciales personalizados. Semaphore UI proporciona integraciones dedicadas de OpenBao y Devolutions Server. La búsqueda de Vault de AWX puede funcionar con un servicio compatible, pero la compatibilidad de OpenBao necesita verificación para la operación requerida.
Compare la integración de la bóveda que su equipo ya utiliza, incluido su método de autenticación y los tipos de secretos que necesitan sus trabajos. Los servicios sin integración incorporada pueden requerir un código de recuperación personalizado.
Ejecución
Un trabajo necesita capacidad de ejecución con acceso a sus sistemas de destino. Los agentes remotos resuelven la ubicación en la red y las imágenes de contenedores proporcionan las dependencias del entorno de ejecución.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Ejecución remota | Sí | Sí |
| Capacidad de ejecución dedicada | SíProRunners de proyecto | SíGrupos de instancias asignados a recursos |
| Enrutamiento de ejecución | SíProEtiquetas de runner en plantillas o inventarios | SíGrupos de instancias asignados a recursos |
| Roles y colecciones de Ansible | SíInstalación desde requirements.yml | SíInstalación durante la sincronización del proyecto |
| Tareas en contenedores | SíProEjecutor Docker | SíImágenes de entornos de ejecución de Ansible |
| Pods de trabajos de Kubernetes | SíEnterprise | Sí |
| Controles de concurrencia | SíLímites de plantilla, proyecto e instancia | SíTrabajos simultáneos y capacidad de los grupos de instancias |
AWX envía trabajo a nodos de ejecución, agrupados en grupos de instancias que se pueden asignar a organizaciones, inventarios o plantillas. Semaphore UI ejecuta trabajos en su servidor o los envía a los runners. En cualquiera de los modelos, las máquinas de ejecución pueden ubicarse cerca de los sistemas de destino mientras la interfaz web permanece centralizada.
Un runner de Semaphore UI dentro de una red privada puede aplicar parches o renovar certificados sin conectividad directa desde el servidor web a los hosts. Los runners de proyecto asignan capacidad a un proyecto y las etiquetas de las plantillas o inventarios dirigen los trabajos a runners compatibles. Esto permite trabajar con sedes distribuidas y entornos de clientes. Las etiquetas de enrutamiento seleccionan máquinas, pero no imponen aislamiento de redes ni de cuentas de nube.
El entorno de ejecución determina qué puede ejecutarse en esas máquinas. AWX utiliza imágenes de entornos de ejecución con Ansible y sus dependencias, y los grupos de contenedores pueden crear un pod de Kubernetes por trabajo. Semaphore UI ofrece ejecución por tarea en Docker con Pro y en Kubernetes con Enterprise. Estas opciones son independientes del alojamiento del servicio web en un contenedor. Ambos productos pueden instalar roles y colecciones de Ansible declarados en los requisitos del repositorio. Las demás bibliotecas y herramientas deben estar en la máquina de ejecución o en su imagen.
Los controles de concurrencia limitan el trabajo simultáneo. AWX combina configuraciones de trabajos simultáneos con capacidad de ejecución y límites de grupos de instancias. Semaphore UI aplica límites de instancia, proyecto y plantilla.
AWX también puede dividir automáticamente un inventario grande en trabajos paralelos. Semaphore UI puede dividir el trabajo en ejecuciones separadas con límites de host Ansible, con etiquetas de runner que seleccionan las máquinas de ejecución. El equipo mantiene esos subconjuntos y los lanza. Para actualizaciones graduales, la configuración serial de Ansible controla lotes secuenciales. Estos cubren ejecuciones específicas e implementaciones por etapas, mientras que la división de trabajos de AWX proporciona una partición automática para trabajos paralelos en toda la flota.
Flujos de trabajo
Provisioning puede requerir un plan, aprobación, implementación y configuración del host, con diferentes caminos después del éxito o el fracaso. La composición del flujo de trabajo determina cómo se conectan esos pasos.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Editor de flujo de trabajo visual | Sí | Sí |
| Múltiples nodos iniciales | No | Sí |
| Unión de ramas | Sí | Sí |
| Flujos de trabajo como pasos | No | Sí |
| Ramas de éxito y error | Sí | Sí |
| Pasos de aprobación | Sí | Sí |
| Rol de aprobador independiente | NoAnunciado para la versión 2.21 | Sí |
| Pasar valores de flujo de trabajo | Sí | Sí |
Los flujos de trabajo de AWX conectan las plantillas de trabajo de Ansible entre sí. Las demás herramientas se invocan a través de playbooks. Semaphore UI conecta las plantillas Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell y Python directamente. Ambos admiten aprobaciones y ramas de éxito/fracaso, por lo que un proceso de aprovisionamiento puede detenerse antes de un cambio de producción.
Ambos utilizan grafos sin bucles y permiten exigir, en las uniones, que se cumplan las condiciones de todos los predecesores o de cualquiera de ellos. AWX permite varios nodos iniciales. Semaphore UI comienza en un solo nodo y ofrece nodos de tarea, aprobación, espera temporizada y anotación.
AWX puede reutilizar un flujo de trabajo completo dentro de otro, manteniendo un procedimiento compartido de varios pasos en un solo lugar. Previene la ejecución recursiva y ofrece pasos de actualización del repositorio y del inventario. Semaphore UI reutiliza plantillas de tareas individuales en todos los flujos de trabajo, pero no puede integrar un flujo de trabajo como un paso. La diferencia es importante cuando varias implementaciones comparten un procedimiento en lugar de un único trabajo.


AWX dispone de un rol de aprobador asignable de forma independiente. Los administradores también pueden aprobar. En Semaphore UI 2.20, la aprobación depende del permiso para ejecutar tareas del proyecto. Es una diferencia importante si el equipo debe asignar la aprobación por separado de la ejecución. Se ha anunciado un rol de aprobador independiente para Semaphore UI 2.21, que no forma parte de esta comparación.
Ambos permiten aprobar desde la interfaz y mediante una API autenticada. AWX también ofrece un módulo de Ansible. La aprobación interactiva en Slack necesita una integración que llame a la API, una notificación por sí sola no basta.
Ambos pasan valores a los trabajos posteriores, como la dirección de un host recién aprovisionado. AWX expone los valores definidos con set_stats en el playbook como variables extra para los trabajos posteriores, también en los nodos de ejecución. Así, un playbook puede capturar el resultado de otra herramienta. Semaphore UI recopila valores de Ansible set_stats, outputs de Terraform/OpenTofu/Terragrunt y JSON de Bash, PowerShell o Python. Después asigna los valores a las variables del formulario de destino, mediante nombres coincidentes o asignaciones explícitas.
En Semaphore UI 2.20, los outputs del flujo de trabajo se recopilan en el servidor y en los runners remotos que utilizan el ejecutor local. Los ejecutores Docker y Kubernetes aún no producen outputs del flujo de trabajo. Los valores se recopilan después de las tareas completadas correctamente. Por tanto, las ramas de error no pueden depender de los outputs de una tarea fallida. Estos valores son visibles para los usuarios con permiso para consultar la tarea y no deben contener secretos.
La transmisión de valores no transfiere archivos en ninguno de los productos. Si pasos separados intercambian un plan de Terraform guardado u otro artefacto, proporcione almacenamiento accesible para ambos. Reutilizar un runner no garantiza que el directorio de trabajo se conserve entre tareas.
Control de acceso
Es posible que el personal de soporte necesite reiniciar un servicio aprobado sin iniciar sesión en el servidor de propósito general. La delegación debe limitar tanto la operación como sus objetivos.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Control de acceso basado en roles | SíRoles de proyecto, roles personalizados en Enterprise | SíRoles de organización, equipo y recursos. |
| Permisos independientes para inventarios y credenciales | NoEl acceso a los recursos sigue los roles del proyecto | Sí |
| Permisos de ejecución a nivel de plantilla | SíEnterprise | Sí |
| LDAP y OIDC | SíPro | Sí |
| Inicio de sesión único SAML | NoOIDC disponible | Sí |
| Autenticación de dos factores | SíProTOTP local | SíA través de un proveedor de identidad externo |
AWX otorga permisos de forma independiente a inventarios, credenciales y plantillas de trabajo. Semaphore UI organiza el acceso en torno a los proyectos, con roles personalizados Enterprise y permisos de ejecución a nivel de plantilla para una delegación más precisa. Una plantilla preconfigurada puede exponer una operación aprobada utilizando el inventario, las credenciales y la configuración de ejecución elegidos.
Por ejemplo, Semaphore UI Enterprise puede dar al personal de soporte acceso a una plantilla de reinicio de servicio para determinados servidores de producción. Un rol base Guest, junto con un rol personalizado sin permisos para todo el proyecto, puede permitir ejecutar esa plantilla. Restrinja las sustituciones del inventario, los límites de hosts, las variables y otros parámetros al iniciar. Compruebe también que otros roles no amplíen el acceso. La plantilla, los permisos y la automatización definen conjuntamente la operación permitida. El formulario solo recopila los parámetros.
Esto permite delegar operaciones concretas sin crear permisos independientes para inventarios o credenciales dentro de un proyecto. AWX encaja mejor cuando los operadores necesitan combinar recursos sujetos a reglas de acceso separadas. Los permisos por plantilla de Semaphore UI se adaptan a un conjunto definido de procedimientos aprobados.
Ambos admiten LDAP y OIDC para iniciar sesión. AWX también es compatible con SAML y depende de un proveedor de identidad externo para MFA. Semaphore UI ofrece autenticación de dos factores local TOTP. Un proveedor de identidad con OIDC puede cubrir el inicio de sesión centralizado de Semaphore UI, mientras que un requisito exclusivo de SAML necesita otro enfoque de integración.
Registros y auditoría
La salida del trabajo explica los fallos de ejecución. El historial de auditoría registra quién inició una operación o cambió su configuración, con diferentes requisitos de visibilidad y retención.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| Historial y registros de tareas | Sí | Sí |
| Retención del historial de tareas | SíMantener tareas recientes por plantilla | SíLimpieza programada según la antigüedad |
| Historial de auditoría entre proyectos | SíRegistro de auditoría para administradores, requiere activar el registro | SíFlujo de actividades, visibilidad basada en roles |
| Reenvío SIEM | SíProTLS Syslog y Splunk HEC | SíRegistro externo, incluido Splunk |
Ambos productos conservan el historial de tareas y los resultados para la resolución de problemas. La visibilidad de la auditoría difiere: el flujo de actividad de AWX sigue los permisos de recursos y los roles de administrador o auditor. La vista de auditoría entre proyectos de Semaphore UI está disponible para los administradores, con eventos almacenados en su base de datos cuando la grabación de auditoría está habilitada.
Para investigaciones centralizadas, el registro externo de AWX reenvía registros de actividad, trabajos y servidor, también a Splunk. Semaphore UI Pro añade filtros de auditoría, exportación en CSV o JSONL y reenvío mediante TLS Syslog o Splunk HEC. Ambos pueden proporcionar eventos a una plataforma de registros o a un sistema de gestión de eventos e información de seguridad (SIEM).
La retención local utiliza diferentes controles. AWX proporciona una limpieza programada basada en la antigüedad para el historial de ejecución y el flujo de actividad. Semaphore UI mantiene una cantidad configurada de tareas recientes por plantilla. Un sistema de registro central puede retener registros más allá de esos límites locales.
Integraciones
Los cambios en el repositorio y las solicitudes del portal de servicios pueden desencadenar la automatización. Los API, webhooks y notificaciones conectan esos eventos con trabajos y sus resultados.
| Criterios | Semaphore UI | AWX |
|---|---|---|
| REST API | Sí | Sí |
| Webhooks de trabajo | SíPuntos finales genéricos, comparadores, extracción de valor | SíWebhooks GitHub y GitLab |
| Notificaciones de trabajos | Sí | Sí |
AWX ofrece webhooks de trabajos integrados para GitHub y GitLab que permiten activar la automatización desde los repositorios. Semaphore UI ofrece endpoints webhook genéricos que filtran las solicitudes según reglas y extraen los parámetros de las tareas. Estos endpoints pueden recibir eventos de distintos sistemas, mientras que las API REST de ambos productos permiten el acceso de otros clientes.
Para las notificaciones salientes, AWX ofrece correo electrónico, Slack, Rocket.Chat, Mattermost, PagerDuty, AWS SNS, Grafana, IRC, Twilio y webhooks. Semaphore UI admite correo electrónico (SMTP), Telegram, Slack, Microsoft Teams, Rocket.Chat, DingTalk y Gotify. Estos canales comunican eventos de los trabajos a personas o servicios, mientras que los webhooks entrantes de trabajos inician la automatización.
Un portal de servicios o un sistema ITSM puede utilizar la API REST de cualquiera de los productos para iniciar un trabajo preparado y recuperar su resultado. Por ejemplo, un portal interno puede enviar una solicitud de renovación de certificado a una plantilla guardada e informar al solicitante cuando finalice. Se trata de una integración mediante API configurada por el equipo, no de un conector nativo específico.
Automatización asistida por IA
Ambas plataformas ofrecen recursos útiles a asistentes de programación como Claude Code y Codex: documentación pública, código fuente abierto y API documentadas. Un asistente puede consultar ejemplos de configuración, examinar cómo se implementa un ajuste y utilizar las definiciones de las API para proponer código de integración. Si dispone de la configuración correspondiente y de la salida del trabajo, también puede ayudar a investigar fallos. Esto permite configurar la plataforma y resolver problemas con ayuda de la IA sin una función de IA específica integrada en el producto.
Existen conectores MCP de la comunidad tanto para AWX como para Semaphore UI. Según el conector, permiten a los asistentes interactuar con la plataforma para buscar plantillas, iniciar trabajos y recuperar resultados. Así, un equipo puede utilizar automatizaciones preparadas mediante un asistente, manteniendo las definiciones de los trabajos y su ejecución en la plataforma.
Semaphore UI ha anunciado soporte oficial de MCP para Pro en la versión 2.21.0.
Licencias y soporte
Tanto AWX como Semaphore UI ofrecen software gratuito de código abierto. La principal diferencia es cómo los equipos pueden obtener capacidades comerciales, soporte de proveedores y compromisos contractuales a medida que la automatización se vuelve más importante para sus operaciones.
Opciones comerciales y de código abierto
AWX se distribuye con licencia Apache 2.0 y recibe soporte de su comunidad. También es un proyecto upstream del componente automation controller de Red Hat Ansible Automation Platform (AAP). Red Hat no vende una suscripción de soporte para AWX. Su oferta con soporte comercial es AAP, una plataforma empresarial independiente que combina automation controller con componentes adicionales, contenido certificado y un ciclo de vida de producto definido.
Semaphore UI sigue un modelo open-core. Community es gratuito y se distribuye con licencia MIT, mientras que Pro y Enterprise añaden capacidades comerciales y soporte del proveedor dentro de la misma familia de productos. Pro está diseñado para equipos de ingeniería pequeños que incorporan la automatización a sus operaciones diarias. Enterprise responde a requisitos más exigentes de acceso, ejecución, disponibilidad y soporte.
Por lo tanto, las ofertas comerciales satisfacen diferentes necesidades de compra. AAP es una inversión en plataforma empresarial más amplia. Los planes comerciales de Semaphore UI están dirigidos a equipos de ingeniería y organizaciones medianas, con una opción de Enterprise para entornos complejos o críticos para el negocio. Los equipos pueden obtener controles avanzados y soporte de proveedores mientras mantienen su inversión enfocada en el servicio de automatización que necesitan.
Soporte y compromisos contractuales
Los usuarios de AWX pueden hacer preguntas, informar de errores y aportar correcciones mediante los canales comunitarios. Esa asistencia no obliga a un proveedor a responder dentro de un plazo ni a ofrecer soporte ante incidentes. Una suscripción a AAP proporciona soporte de Red Hat para AAP, pero no cubre una instalación de AWX existente.
Semaphore UI Community también ofrece asistencia según disponibilidad, sin SLA de soporte. Pro incluye soporte del proveedor en horario laboral. Enterprise ofrece opciones de SLA adaptadas y ayuda con la incorporación, configuración, actualizaciones y migración. Los clientes comerciales tienen así una relación directa con el proveedor, cuyas obligaciones de soporte se definen en el plan y el acuerdo aplicables.
Planificación de versiones y mantenimiento
Actualmente, AWX indica que los lanzamientos se pausan durante una refactorización a gran escala. Semaphore UI continúa publicando versiones y mantiene una política de seguridad que identifica las versiones compatibles. Estas diferencias son importantes a la hora de planificar actualizaciones y mantenimiento continuo. Revise el historial de versiones, las políticas de seguridad y la guía de actualización para la versión que desea utilizar junto con cualquier compromiso de soporte contractual.
Cómo elegir
Ambas plataformas permiten a los equipos compartir automatización, programar trabajos y revisar resultados. Elija según cómo administra la información del host, delega operaciones, aloja el servicio y obtiene soporte.
Cuándo elegir AWX
AWX es una buena opción cuando Ansible es central para su automatización y su modelo de gestión de recursos encaja con sus operaciones diarias.
- Gestionar los inventarios desde la plataforma es un requisito esencial. Sus operadores utilizan la plataforma en su trabajo diario para mantener registros de hosts y grupos, actualizar inventarios y conservar los facts de los hosts.
- Los inventarios y las credenciales necesitan sus propias reglas de acceso. Su equipo debe asignar permisos a inventarios y credenciales individuales independientemente de las plantillas de trabajo, lo que permite a los operadores combinar solo los recursos que están autorizados a usar.
- Kubernetes se adapta a su infraestructura existente. Su equipo ya opera un clúster, por lo que el modelo de implementación recomendado por AWX se adapta a los sistemas y habilidades que mantiene.
- Ansible ya orquesta sus procedimientos. Sus playbooks cubren las operaciones requeridas, incluidas las llamadas a otras herramientas, y los entornos de ejecución Ansible proporcionan sus dependencias.
- El soporte de la comunidad satisface sus necesidades. Su equipo tiene la experiencia y la capacidad para investigar incidentes, evaluar avisos de seguridad y mantener la instalación sin un SLA de respuesta del proveedor.
Cuándo elegir Semaphore UI
Semaphore UI es una buena opción si busca un servicio sencillo para ejecutar y compartir automatización con sus herramientas e infraestructura existentes.
- Sus inventarios ya se encuentran en Git o en sistemas externos. Desea reutilizar definiciones de inventario Ansible y complementos que descubren hosts de NetBox, API en la nube u otras fuentes cuando se ejecutan trabajos.
- Los colegas necesitan acceso a operaciones preparadas. Los ingenieros definen tareas como implementaciones, reinicios de servicios o renovaciones de certificados. Otros miembros del equipo inician esas tareas con los parámetros necesarios, mientras que los inventarios y las credenciales siguen siendo parte de la configuración preparada.
- Quiere desplegar el servicio sin Kubernetes. Las instalaciones binarias, de paquetes nativos y Docker le permiten utilizar un servidor existente, evitando un clúster introducido únicamente para el servicio de automatización.
- Su automatización abarca varias herramientas. Las plantillas dedicadas ejecutan Ansible, Terraform/OpenTofu, Terragrunt, Bash, PowerShell y Python directamente, con flujos de trabajo que conectan sus operaciones.
- Quiere un camino directo al soporte comercial. Las licencias comerciales agregan soporte de proveedores y capacidades avanzadas dentro de la misma familia de productos, por lo que puede obtener compromisos de soporte mientras continúa usando Semaphore UI.
Preguntas frecuentes
¿Puede Semaphore UI reemplazar a AWX?
Sí, cuando su modelo de inventario, permisos y flujo de trabajo cubra sus requisitos. Los playbooks existentes a menudo se pueden reutilizar, mientras que la configuración del trabajo y los controles de acceso deben mapearse y probarse. Verifique cualquier dependencia de funciones específicas de AWX, especialmente flujos de trabajo anidados, permisos de credenciales o inventarios independientes y almacenamiento en caché de datos administrado.
¿Puedo reutilizar mis playbooks Ansible existentes?
Empiece con el mismo repositorio y los mismos playbooks. Configure en Semaphore UI el inventario, las credenciales, las variables, las colecciones y las dependencias del entorno de ejecución necesarios, y pruebe ejecuciones representativas. Reutilizar el código no importa automáticamente todos los ajustes de AWX.
¿Qué es necesario comprobar al migrar desde AWX?
Comience con un flujo de trabajo representativo. Reutilice sus playbooks siempre que sea posible y luego asigne inventarios, credenciales, variables, encuestas, programaciones y dependencias de tiempo de ejecución. Verifique los permisos, las aprobaciones, los flujos de trabajo anidados y la transferencia de valores o archivos por separado. Una importación puede reducir el trabajo de configuración, pero no prueba que el trabajo importado se comporte de la misma manera. Pruebe antes de habilitar los programaciones de producción.
¿Qué funciones de Semaphore UI necesitan una edición de pago?
Community incluye la interfaz básica de tareas y los flujos de trabajo. Los runners de proyecto, la ejecución en Docker y las integraciones con almacenes de secretos externos están disponibles a partir de Pro. Los roles personalizados, los permisos por plantilla, la ejecución de tareas en Kubernetes y la alta disponibilidad requieren Enterprise. Al evaluar un plan, compruebe las funciones y la capacidad necesarias.
¿Puedo conservar el inicio de sesión único SAML después de migrar?
AWX admite SAML directamente. Semaphore UI admite LDAP y OIDC, pero no tiene integración nativa con SAML. Un proveedor de identidad que también ofrezca OIDC puede cubrir el requisito de inicio de sesión. Verifique la asignación de usuarios y grupos por separado, ya que cambiar el protocolo de autenticación no recrea los permisos AWX.
¿Semaphore UI requiere Kubernetes?
No. Están disponibles instalaciones binarias, de paquetes y Docker. Kubernetes es una opción de implementación opcional. Las herramientas de automatización y una base de datos adecuada siguen siendo parte del entorno.
¿Puede AWX ejecutar Terraform o usar HashiCorp Vault?
Sí. Los playbooks pueden ejecutar comandos de Terraform o módulos de colecciones, y AWX permite consultar credenciales en HashiCorp Vault. Semaphore UI ofrece otro modelo de configuración con plantillas específicas para Terraform/OpenTofu y un backend HTTP de state opcional con Pro.
¿Alguna de las plataformas admite la ejecución remota?
Ambos pueden ejecutar tareas en servidores remotos. AWX utiliza nodos de ejecución agrupados para diferentes equipos y cargas de trabajo. Semaphore UI utiliza agentes ejecutores. Sus modelos de configuración y acceso difieren.
¿Te resultó útil este artículo?
Fuentes
- ARA Records Ansible, “ARA Records Ansible”. URL: https://ara.recordsansible.org/ (consultado el: ).
- Semaphore UI, “Semaphore runner output capture and executor limits”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/runners/job_pool.go#L167-L192 (consultado el: ).
- Semaphore UI, “Semaphore task dispatch, runner routing, concurrency and remote workflow outputs”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskPool.go (consultado el: ).
- Semaphore UI, “Semaphore workflow input mapping model”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Workflow.go#L27-L44 (consultado el: ).
- Semaphore UI, “Semaphore task template options and survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Template.go (consultado el: ).
- Semaphore UI, “Semaphore NetBox dynamic inventory example”. URL: https://semaphoreui.com/docs/user-guide/inventory/netbox-dynamic-inventory (consultado el: ).
- Semaphore UI, “Semaphore Consul inventory script”. URL: https://semaphoreui.com/docs/user-guide/inventory/consul-dynamic-inventory (consultado el: ).
- Ansible community, “NetBox Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/netbox/netbox/nb_inventory_inventory.html (consultado el: ).
- Ansible community, “AWS EC2 Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/aws_ec2_inventory.html (consultado el: ).
- Ansible community, “Azure Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/azure/azcollection/azure_rm_inventory.html (consultado el: ).
- Ansible community, “Google Cloud Ansible inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_inventory.html (consultado el: ).
- Semaphore UI, “Semaphore cloning of inventory repositories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/local_executor_inventory.go (consultado el: ).
- 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 (consultado el: ).
- Semaphore UI, “Semaphore survey field types”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/SurveyVars.vue (consultado el: ).
- Semaphore UI, “Semaphore survey inputs and task launch form”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/web/src/components/TaskForm.vue (consultado el: ).
- Semaphore UI, “What is Semaphore UI?”. URL: https://semaphoreui.com/docs/introduction/what-is-semaphore (consultado el: ).
- AWX project, “AWX user guide”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/index.html (consultado el: ).
- Semaphore UI, “Semaphore source and MIT license”. URL: https://github.com/semaphoreui/semaphore (consultado el: ).
- AWX project, “AWX source and Apache 2.0 license”. URL: https://github.com/ansible/awx (consultado el: ).
- Semaphore UI, “Semaphore setup and first run”. URL: https://semaphoreui.com/docs/getting-started (consultado el: ).
- Semaphore UI, “Semaphore installation methods and dependencies”. URL: https://semaphoreui.com/docs/admin-guide/installation (consultado el: ).
- AWX project, “AWX installation paths”. URL: https://github.com/ansible/awx/blob/24.6.1/INSTALL.md (consultado el: ).
- AWX project, “AWX Operator installation”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/installation/basic-install.html (consultado el: ).
- Semaphore UI, “Semaphore high availability prerequisites”. URL: https://semaphoreui.com/docs/admin-guide/ha#prerequisites (consultado el: ).
- AWX project, “AWX web and task replica scaling”. URL: https://docs.ansible.com/projects/awx-operator/en/latest/user-guide/advanced-configuration/scaling-the-web-and-task-pods-independently.html (consultado el: ).
- Semaphore UI, “Semaphore automation applications”. URL: https://semaphoreui.com/docs/user-guide/apps (consultado el: ).
- Semaphore UI, “Semaphore task templates”. URL: https://semaphoreui.com/docs/user-guide/task-templates (consultado el: ).
- AWX project, “AWX job templates and surveys”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_templates.html (consultado el: ).
- Semaphore UI, “Survey variables”. URL: https://semaphoreui.com/docs/user-guide/task-templates/survey-vars (consultado el: ).
- Semaphore UI, “Terraform and OpenTofu in Semaphore”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform (consultado el: ).
- Ansible community, “Ansible Terraform module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/community/general/terraform_module.html (consultado el: ).
- Semaphore UI, “Semaphore Terraform HTTP backend”. URL: https://semaphoreui.com/docs/user-guide/apps/terraform/states (consultado el: ).
- Semaphore UI, “Semaphore workflow nodes and approvals”. URL: https://semaphoreui.com/docs/user-guide/workflows (consultado el: ).
- Semaphore UI, “Semaphore inventory types and stored resources”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Inventory.go (consultado el: ).
- AWX project, “AWX job slicing”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/job_slices.html (consultado el: ).
- Semaphore UI, “Semaphore workflow approval API routes”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/router.go (consultado el: ).
- AWX project, “AWX resource, workflow approval and activity-stream access control”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/access.py (consultado el: ).
- AWX project, “AWX workflow approval Ansible module”. URL: https://github.com/ansible/awx/blob/24.6.1/awx_collection/plugins/modules/workflow_approval.py (consultado el: ).
- AWX project, “AWX workflow branch convergence”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/scheduler/dag_workflow.py#L51-L112 (consultado el: ).
- AWX project, “AWX Terraform State inventory source”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/userguide/inventories.rst#L1092-L1121 (consultado el: ).
- AWX project, “AWX instance-group capacity limits”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/docsite/rst/administration/containers_instance_groups.rst#L247-L263 (consultado el: ).
- AWX project, “AWX custom credential types”. URL: https://github.com/ansible/awx/blob/24.6.1/docs/credentials/custom_credential_types.md (consultado el: ).
- AWX project, “AWX workflows”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflow_templates.html (consultado el: ).
- AWX project, “AWX workflow branching and output variables”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/workflows.html (consultado el: ).
- AWX project, “AWX collection of Ansible workflow variables”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/callback.py#L156-L160 (consultado el: ).
- AWX project, “AWX processing of execution-node events”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/tasks/receptor.py#L544-L553 (consultado el: ).
- AWX project, “AWX inheritance of variables between workflow jobs”. URL: https://github.com/ansible/awx/blob/24.6.1/awx/main/models/workflow.py#L324-L354 (consultado el: ).
- Semaphore UI, “Semaphore global runners”. URL: https://semaphoreui.com/docs/admin-guide/runners/ (consultado el: ).
- Semaphore UI, “Semaphore project runners”. URL: https://semaphoreui.com/docs/user-guide/projects/runners (consultado el: ).
- AWX project, “AWX execution and hop nodes”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/instances.html (consultado el: ).
- AWX project, “AWX execution environments”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/execution_environments.html (consultado el: ).
- AWX project, “AWX Kubernetes container groups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/containers_instance_groups.html (consultado el: ).
- Semaphore UI, “Semaphore inventories”. URL: https://semaphoreui.com/docs/user-guide/inventory (consultado el: ).
- AWX project, “AWX inventories”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/inventories.html (consultado el: ).
- Semaphore UI, “Semaphore project access”. URL: https://semaphoreui.com/docs/user-guide/projects (consultado el: ).
- Semaphore UI, “Semaphore team roles and template-level permissions”. URL: https://semaphoreui.com/docs/user-guide/team#extended-rbac (consultado el: ).
- AWX project, “AWX role-based access controls”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/rbac.html (consultado el: ).
- Semaphore UI, “Semaphore LDAP and OIDC authentication”. URL: https://semaphoreui.com/docs/admin-guide/authentication (consultado el: ).
- AWX project, “AWX LDAP, OIDC and SAML authentication”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/ent_auth.html (consultado el: ).
- Semaphore UI, “Semaphore Key Store”. URL: https://semaphoreui.com/docs/user-guide/key-store (consultado el: ).
- AWX project, “AWX credentials and secret lookups”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credentials.html (consultado el: ).
- AWX project, “AWX external secret management integrations”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/credential_plugins.html (consultado el: ).
- Semaphore UI, “Semaphore OpenBao secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/openbao (consultado el: ).
- Semaphore UI, “Semaphore Devolutions Server secret storage”. URL: https://semaphoreui.com/docs/user-guide/key-store/devolutions-server (consultado el: ).
- Semaphore UI, “Semaphore webhook integrations”. URL: https://semaphoreui.com/docs/user-guide/integrations (consultado el: ).
- AWX project, “AWX webhooks”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/webhooks.html (consultado el: ).
- Semaphore UI, “Semaphore REST API”. URL: https://semaphoreui.com/api-docs (consultado el: ).
- Ansible community, “Ansible command execution”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/command_module.html (consultado el: ).
- Ansible community, “Ansible PowerShell module”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/windows/win_powershell_module.html (consultado el: ).
- Semaphore UI, “Semaphore notification channels”. URL: https://semaphoreui.com/docs/admin-guide/notifications (consultado el: ).
- AWX project, “AWX notifications”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/notifications.html (consultado el: ).
- Semaphore UI, “Semaphore task history and output”. URL: https://semaphoreui.com/docs/user-guide/tasks (consultado el: ).
- Semaphore UI, “Semaphore scheduled tasks”. URL: https://semaphoreui.com/docs/user-guide/schedules (consultado el: ).
- AWX project, “AWX activity stream”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/main_menu.html (consultado el: ).
- Semaphore UI, “Semaphore Community, Pro and Enterprise”. URL: https://semaphoreui.com/pricing (consultado el: ).
- Red Hat, “Red Hat: AWX and Ansible Automation Platform”. URL: https://www.redhat.com/en/technologies/management/ansible/compare-awx-vs-ansible-automation-platform (consultado el: ).
- Red Hat, “Red Hat automation controller, formerly Ansible Tower”. URL: https://www.redhat.com/en/technologies/management/ansible/automation-controller (consultado el: ).
- Semaphore UI, “Semaphore stable releases”. URL: https://github.com/semaphoreui/semaphore/releases (consultado el: ).
- AWX project, “AWX release history”. URL: https://github.com/ansible/awx/releases (consultado el: ).
- Semaphore MCP contributors, “Semaphore MCP connector”. URL: https://github.com/cloin/semaphore-mcp (consultado el: ).
- Semaphore MCP contributors, “Semaphore MCP task execution and output”. URL: https://github.com/cloin/semaphore-mcp/blob/72f5b7008f6d560c74e01da9884e6fddbbf68999/src/semaphore_mcp/tools/tasks.py (consultado el: ).
- LY Corporation, “AWX MCP connector and compatibility”. URL: https://github.com/lycorp-jp/awx-mcp/tree/fa4d25ffa9e04967e98dc66b219a0481d61ea814 (consultado el: ).
- LY Corporation, “AWX MCP job template execution”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/job_templates.py (consultado el: ).
- LY Corporation, “AWX MCP job output”. URL: https://github.com/lycorp-jp/awx-mcp/blob/fa4d25ffa9e04967e98dc66b219a0481d61ea814/awx_mcp/tools/jobs.py (consultado el: ).
- HashiCorp, “Terraform local state backend”. URL: https://developer.hashicorp.com/terraform/language/backend/local (consultado el: ).
- HashiCorp, “Terraform state locking”. URL: https://developer.hashicorp.com/terraform/language/state/locking (consultado el: ).
- Semaphore UI, “Semaphore variable groups”. URL: https://semaphoreui.com/docs/user-guide/environment (consultado el: ).
- Semaphore UI, “Semaphore runner selection and capacity”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/RemoteJob.go (consultado el: ).
- Semaphore UI, “Semaphore cron and one-time schedule execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/schedules/SchedulePool.go (consultado el: ).
- AWX project, “AWX schedules”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/scheduling.html (consultado el: ).
- Ansible community, “Ansible constructed inventory plugin”. URL: https://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/constructed_inventory.html (consultado el: ).
- Ansible community, “Ansible cache plugins”. URL: https://docs.ansible.com/projects/ansible/latest/plugins/cache.html (consultado el: ).
- Semaphore UI, “View and export the Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log/view (consultado el: ).
- Semaphore UI, “Semaphore administrator audit-log access”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/api/audit_log.go (consultado el: ).
- AWX project, “AWX logging and aggregation”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/logging.html (consultado el: ).
- Semaphore UI, “Semaphore audit log”. URL: https://semaphoreui.com/docs/admin-guide/audit-log (consultado el: ).
- Semaphore UI, “Ansible role and collection installation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/AnsibleApp.go (consultado el: ).
- Semaphore UI, “Task-history cleanup”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/sql/task.go (consultado el: ).
- Semaphore UI, “Ansible inventory overrides”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/TaskRunner.go (consultado el: ).
- AWX project, “Projects, Ansible Galaxy and collections”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/userguide/projects.html#ansible-galaxy-support (consultado el: ).
- AWX project, “Management jobs”. URL: https://docs.ansible.com/projects/awx/en/24.6.1/administration/management_jobs.html (consultado el: ).
- Semaphore UI, “Terraform plan and apply execution”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db_lib/TerraformApp.go (consultado el: ).
- Semaphore UI, “Repository working directories”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/db/Repository.go (consultado el: ).
- HashiCorp, “Terraform plan command”. URL: https://developer.hashicorp.com/terraform/cli/commands/plan (consultado el: ).
- HashiCorp, “Terraform apply command”. URL: https://developer.hashicorp.com/terraform/cli/commands/apply (consultado el: ).
- Semaphore UI, “Security policy”. URL: https://github.com/semaphoreui/semaphore/security/policy (consultado el: ).
- AWX project, “Security policy”. URL: https://github.com/ansible/awx/security/policy (consultado el: ).
- AWX project, “Release status and project overview”. URL: https://github.com/ansible/awx/blob/devel/README.md (consultado el: ).
- Semaphore UI, “Semaphore notification channel implementation”. URL: https://github.com/semaphoreui/semaphore/blob/58a596ed20b724af67c468588edcda12d1779549/services/tasks/alert.go (consultado el: ).
Comparación elaborada por el equipo de Semaphore UI a partir de la documentación, los repositorios y las páginas de precios citados. Cada fuente incluye su fecha de consulta.
Enlaces útiles
Ponga en práctica la comparación con uno de sus trabajos existentes.
