Installation

Conflux ships as a single static binary with no runtime dependencies.

Linux (x86_64 / arm64)

curl -fsSL https://get.conflux.dev/install.sh | sh

The script installs to /usr/local/bin/conflux and does not require root unless that directory isn’t writable by your user.

Manual install

curl -LO https://dl.conflux.dev/v2.4.1/conflux_2.4.1_linux_amd64.tar.gz
tar -xzf conflux_2.4.1_linux_amd64.tar.gz
sudo mv conflux /usr/local/bin/
conflux version
conflux version 2.4.1 (build a91f3c2, go1.22.4)

From source

git clone https://github.com/conflux-project/conflux.git
cd conflux
make build
./bin/conflux version

Your first playbook

Playbooks are plain YAML. Create a file called site.yml:

# site.yml
hosts:
  - name: web01
    address: 203.0.113.42
    user: deploy

modules:
  - package:
      name: nginx
      state: present
  - file:
      path: /etc/nginx/nginx.conf
      source: ./templates/nginx.conf.tmpl
      owner: root
      mode: "0644"
  - service:
      name: nginx
      state: restarted
      enabled: true

Before applying anything, always check what would change:

conflux plan site.yml
Plan: 3 modules on 1 host

web01
  package.nginx        no change (already present)
  file./etc/nginx/nginx.conf   would update (checksum differs)
  service.nginx         would restart

1 to change, 2 unchanged, 0 to destroy

Once the plan looks right, apply it:

conflux apply site.yml
web01: applying 3 modules...
web01: file./etc/nginx/nginx.conf   updated
web01: service.nginx         restarted
web01: package.nginx        unchanged

Applied in 1.8s — 1 changed, 2 unchanged, 0 failed

Next steps

  • Read Core Concepts to understand how modules and state tracking work.
  • See the CLI Reference for every subcommand and flag.
  • Browse Guides for common setups like multi-host inventories and secrets.