Semaphore como UI para Ansible

Fecha publicación
Dificultad
Basico
#
81
3 more properties
Publicado
tags
iot, iot gateway, iot gw, industry 4.0, industria 4.0, Ansible, infraestructura as Code, system administration, sysadmin, SRE, Linux, Mac, Windows, semaphore, Ansible ui, ansible semaphore

Descripción

Ansible Semaphore es una interfaz de usuario para Ansible, una plataforma de automatización de TI de código abierto. Semaphore proporciona una forma fácil de administrar y monitorear el flujo de trabajo de Ansible, y permite a los usuarios programar y ejecutar tareas de Ansible a través de una interfaz visual intuitiva. Esto hace que sea más fácil para los equipos de operaciones de TI y desarrollo de software trabajar juntos para implementar y administrar la infraestructura de TI de una empresa.

Referencias

Running Ansible Semaphore using Docker

Create the image

Plain Text
# clone the repo
git clone git@github.com:ansible-semaphore/semaphore.git
# build the image
cd semaphore/deployment/docker/prod
sudo docker compose build

the image

Plain Text
sudo docker image ls | grep semaphore

Running the service

clone the repo

Plain Text
git clone https://github.com/i40sys/ansible-semaphore.git

modify docker-compose.yml custom setup

YAML
version: '3'
services:
  semaphore:
    image: semaphoreui/semaphore:prod-compose
    container_name: semaphore
    ports:
      - 3000:3000
    volumes:
      - ./config:/etc/semaphore
      - ./data:/var/lib/semaphore
      - ./repos:/repos
      #- ./ssh-keys:/home/semaphore/.ssh
    environment:
      SEMAPHORE_DB_DIALECT: bolt
      SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
      SEMAPHORE_ADMIN_NAME: i40sys
      SEMAPHORE_ADMIN_EMAIL: industry40systems@gmail.com
      SEMAPHORE_ADMIN: i40sys
      SEMAPHORE_ADMIN_PASSWORD: 'c0*WKBF5Gs^Ht4J13.d'
      SEMAPHORE_ACCESS_KEY_ENCRYPTION: BGWUo8H6OuVdoSbPrdC0wNaTdYeEWyy1T1o0pB9jfjQ=

create directories

Plain Text
# go to the path where you have your docker-compose.yml
mkdir config data repos
sudo chown 1001 config data repos

run the service

Plain Text
sudo docker compose up -d

check the service

Plain Text
sudo docker ps

check the logs

Plain Text
sudo docker compose logs -f

UI steps for running a playbook

  1. create new project
  2. add key store:
    1. none (for local)
    2. SSH private key
  3. add environment: none
  4. add inventory entry
  5. add repository entry
  6. create task template
  7. run task