Configuration management

Every server, exactly as described.

Describe packages, files, services and templates in readable YAML. Run it on one host or a hundred, see exactly what changed and restore any earlier version.

Laptop showing configuration code on a desk at night

Before & after

What changes on day one

Without PlainShip

  • Snowflake servers configured by hand
  • Shell scripts nobody dares to re-run
  • No idea what changed on which host
  • A separate control machine to look after

With PlainShip

  • Readable playbooks your whole team can review
  • Idempotent modules that are safe to re-run
  • ok / changed / failed counts for every host
  • Runs from the dashboard, CLI or a schedule

How it works

Four steps, no agents

  1. Write the playbook

    Insert tasks from 17 modules with live validation as you type.

  2. Dry run it

    Check mode shows what would change, host by host.

  3. Apply it

    Run on a group, limit to hosts or start at any task.

  4. Version every change

    Diff and restore any save — with author and change note.

playbooks/web.yml
- name: Base web server
  hosts: web
  become: true
  tasks:
    - name: Install packages
      package: { name: [nginx, git, curl], state: present }
    - name: Site config
      template: { src: templates/site.conf.tpl, dest: /etc/nginx/conf.d/site.conf }
      notify: reload nginx
  handlers:
    - name: reload nginx
      service: { name: nginx, state: reloaded }