From Python Package Index
The preferred method to install
watchmaker is from the Python Package Index
(PyPi), using pip. Without any other options, this will always install
the most recent stable release.
python3 -m pip install watchmaker
Versions 10 and later of
pip do not support Python 2.6. On CentOS 6 and
RHEL 6, Python 2.6 is the system version of Python. If you are using Python
watchmaker, you will need to restrict the
pip install such
that a version earlier than 10 is installed. See the relevant question in
the [FAQ](faq.html) for more details.
Watchmaker can also be built and installed from source, using
The source for
watchmaker are available from the GitHub repo.
First clone the public repository to pull the code to your local machine:
git clone https://github.com/plus3it/watchmaker.git --recursive && cd watchmaker
This project uses submodules, so it’s easiest to use the
--recursiveflag, as above. If you don’t, you will need to pull in the submodules as well:
git submodule update --init --recursive
If you want to install a specific branch or tag, check it out before installing Watchmaker:
git checkout <branch-tag-foo>
Then you can install Watchmaker:
python3 -m pip install .
From standalone executable
Watchmaker can also be downloaded and executed in an all-in-one package containing Watchmaker’s dependencies, such as Python and necessary Python packages. Packages are available for Windows and Linux.
Retrieve the Watchmaker standalone package for your desired platform from GitHub Releases or the Cloudarmor repo.
GitHub Releases shows the available Watchmaker versions and includes links to the Windows and Linux packages, and their SHA256 hashes.
The latest release can also be directly accessed on GitHub:
The latest release is always available on the Cloudarmor repo at these URLs:
From PowerShell, the Windows package can be downloaded as follows:
PS C:\wam> $url = "https://watchmaker.cloudarmor.io/releases/latest/watchmaker-latest-standalone-windows-amd64.exe" PS C:\wam> (New-Object System.Net.WebClient).DownloadFile($url, "watchmaker.exe")
From the command line, the Linux package can be downloaded as follows:
# curl -so watchmaker https://watchmaker.cloudarmor.io/releases/latest/watchmaker-latest-standalone-linux-x86_64
For the latest package, the version of Watchmaker can be determined by viewing the contents of the SHA256 hash file or by executing the package with the
Verify the integrity of the standalone package.
Compare the SHA256 hash contained in the downloaded hash file to a hash you compute for the package.
For Linux, execute this command to compute the SHA256 hash:
# shasum -a 256 watchmaker-latest-standalone-linux-x86_64
For Windows, execute this command to compute the SHA256 hash:
PS C:\wam> Get-FileHash watchmaker-latest-standalone-windows-amd64.exe | Format-List
Set executable access permission.
For Linux, you will need to set the access permissions to allow the standalone executable to run. Below is an example:
# chmod +x watchmaker-latest-standalone-linux-x86_64
Prerequisites for features specific to AWS and Azure
Watchmaker has some features specific to AWS and Azure:
* AWS: * Download files in config references from Amazon S3 * Tag Amazon EC2 instances with Watchmaker status * Azure: * Tag Azure Virtual Machines with Watchmaker status
If you are using the source install from PyPi, and if your config uses any of those features, be sure to also install the SDKs those features are built on. If you are using the standalone package, these dependencies are part of the package and no further action or install is needed.
For AWS features, install the
# python3 pip -m install boto3
For Azure features, install the
# python3 pip -m install azure-core azure-identity azure-mgmt-resource