← All open source projects

Ansible

ansible/ansible

Ansible is an infrastructure automation platform for server configuration, deployment, network changes, and SSH-based management without remote agents.

Forks 24,099
Author ansible
Language Python
License GPL-3.0
Synced 2026-06-20

What it is

Ansible is an infrastructure automation platform. It describes what should be configured on servers and network devices, then applies changes over SSH without installing a separate agent on every node.

The repository has existed since 2012, its main language is Python, and the license is GPL-3.0. The project is connected to Red Hat and has broad documentation, community processes, and contribution rules.

What is inside

Inside are ansible-core, modules, tests, developer documentation, coding rules, branch information, and roadmap material. The user model is built around inventory, playbooks, and modules.

Playbook example

The site has no separate YAML highlighter key, so the example is shown as text: the task describes the desired server state.

Language: Plain text
- hosts: web
  tasks:
    - name: Install nginx
      package:
        name: nginx
        state: present

How people use it

Ansible is used for server configuration, application deployment, network automation, cloud infrastructure, and repeated operational tasks. It is especially useful when changes need to be described as text and reviewed.

Its strength is the readable declarative form. A playbook reads like a list of tasks rather than a complex program, so infrastructure changes are easier to discuss with a team.

Project details

Ansible is strong where infrastructure changes need to be understandable beyond one administrator. A playbook can be read, reviewed in a pull request, and repeated across environments without a manual command list.

Having no agent on managed nodes is an important design choice. Work happens through SSH and modules, so the start is often simpler than systems that require a permanent service on every server first.

The weak spot appears as roles and exceptions grow. If a playbook becomes a pile of conditions for every server, automation loses clarity. Ansible needs the same architectural discipline as regular code.

Strengths and limitations

The limitation is that automation amplifies both good and bad decisions. A wrong playbook can spread a mistake across many nodes quickly, so tests, small changes, and careful environments matter.

Ansible matters as a mature infrastructure automation project: it became one of the standard ways to describe operational work as code.

Context