V0.1 · Architecture & service documentation
← All services

Automation & operations / SERVICE DOCUMENTATION

Ansible & Semaphore

The repeatable server baseline and the interface used to execute approved tasks.

V0.1 · Reviewed 29 October 2026Documentation snapshot · Not live status

01 / THE ROLE

In this lab.

The operational playbooks live in version control. Semaphore separates a Baseline project, containing the main baseline template, from a tasks project for individual operations. Ansible provides reusable roles and tasks; Semaphore supplies inventories, execution parameters and job history. A legacy Semaphore instance also coexists with the newer operational instance; the Baseline/tasks organisation described here belongs to the latter.

02 / THE CONNECTIONS

Follow the flow.

Ansible & Semaphore · component viewConceptual relationships
Playbooks in GitReviewed revision and intended change
SemaphoreTemplate + inventory + execution options
Connected responsibilities & state
BaselineRepeatable server configuration
Individual tasksNarrowly scoped operations
MySQLSemaphore application state

A responsibility view: branches show related components, rather than physical placement or a single request path.

03 / How it works

How it works.

The baseline prepares the intended server configuration. Its monitoring selection includes both Zabbix and Elastic Agent. Standalone tasks handle narrower operations without rerunning an entire baseline. Before execution, confirm the actual repository revision, playbook, inventory and selected tags. A check run is useful, but its predictions still depend on module behaviour.

04 / Persistent data & recovery

Persistent data & recovery.

The Semaphore application uses MySQL for its state. Recovery needs that database, the execution configuration and securely managed access material, as well as the playbooks in Git. A clean copy of the playbooks alone does not recreate the complete execution platform.

05 / How to check it

How to check it.

Read the task recap and validate the intended result on the target. Repeating a converged configuration should avoid unnecessary changes; completed monitoring work includes documented changed=0 reruns. Execution success and service health remain separate checks.

06 / Decisions & limits

Decisions & limits.

Reusable tasks reduce drift, but broad inventories or accidental reboot selections can still have impact. Keeping baseline and one-off tasks separate makes intent easier to inspect. Production changes require explicit approval.

KEEP EXPLORING

Related parts of the lab.