Updatecli is a tool uses to apply file update strategies.

Updatecli is a tool uses to apply file update strategies. It reads a yaml or a go template configuration file, then works into three stages:

  1. Source: Based on a rule fetch a value from a third location that will be injected in later stages.
  2. Conditions: Ensure that conditions are met based on the value retrieved during the source stage.
  3. Target: Update and publish the target files based on a value retrieved from the source stage.


Deciding how, when, where to update information is hard.

Nowadays they are countless tools that can apply continuous delivery or continuous deployment. To configure our infrastructure, we write ansible playbooks, puppet manifest, helm chart, etc. We heavily rely on configuration files to specify the version we need to install. But too often those files are manually updated.

Because it’s hard to automatically detect what information must be updated and when.

The logic that manipulates information from a configuration file is defined outside that configuration file. Information comes from many different sources like maven, docker, files, git repository, etc.. Before modifying information, we probably want to validate some assumptions.

Updatecli allows combining blocks, aka resources, to specify what information needs to be updated, when, and where. So we easily implement the workflow that suits our needs.

Get started

Quick Start

One page summary of how to use updatecli Quick Start →

Go further

Resources, SCM, Stages, CI


Understand on how the different stages work. Stages →


Understand on how to parametrize resources. Resources →


Learn how to use updatecli with scm repository. SCM →

Continously Update Everything

Learn how to continuously run updatecli to apply updates. CI →


Find out how to contribute to Updatecli. Contributing →


Get some help. Help →

Edit this page on GitHub