cf-remote requires curl and python 3 with fabric and requests. (Install using brew/apt/yum/pip). It's a normal python package, but doesn't have a setup script (yet).
cfengine/core repo where you want, and then symlink, like this:
$ git clone https://github.com/cfengine/core.git $ ln -s `pwd`/core/contrib/cf-remote/cf_remote/__main__.py /usr/local/bin/cf-remote
Check that it worked:
$ ls -al `which cf-remote` lrwxr-xr-x 1 olehermanse admin 68 Jan 10 15:20 /usr/local/bin/cf-remote -> /northern.tech/cfengine/core/contrib/cf-remote/cf_remote/__main__.py $ cf-remote --version cf-remote version 0.1 (BETA) Available CFEngine versions: 3.13.0, 3.12.1, 3.12.0, 3.10.5, 3.10.4, 3.10.3, 3.10.2, 3.10.1, 3.10.0
Note that the version/branch of core you have checked out is important! You can also move it out of your core folder if you prefer this (but then making changes to cf-remote becomes more tedious).
See information about remote host
info command can be used to check basic information about a system.
$ cf-remote info -H 22.214.171.124 email@example.com OS : ubuntu (debian) Architecture : x86_64 CFEngine : 3.12.1 Policy server : 172.31.42.192 Binaries : dpkg, apt
(You must have ssh access).
Installing and bootstrapping CFEngine Enterprise Hub
install command can automatically download and install packages as well as bootstrap both hubs and clients.
cf-remote install --hub 126.96.36.199 --bootstrap 172.31.44.146 --demo firstname.lastname@example.org OS : ubuntu (debian) Architecture : x86_64 CFEngine : Not installed Policy server : None Binaries : dpkg, apt Package already downloaded: '/Users/olehermanse/.cfengine/cf-remote/packages/cfengine-nova-hub_3.12.1-1_amd64.deb' Copying: '/Users/olehermanse/.cfengine/cf-remote/packages/cfengine-nova-hub_3.12.1-1_amd64.deb' to '188.8.131.52' Installing: 'cfengine-nova-hub_3.12.1-1_amd64.deb' on '184.108.40.206' CFEngine 3.12.1 was successfully installed on '220.127.116.11' Bootstrapping: '18.104.22.168' -> '172.31.44.146' Bootstrap succesful: '22.214.171.124' -> '172.31.44.146' Transferring def.json to hub: '126.96.36.199' Copying: '/Users/olehermanse/.cfengine/cf-remote/json/def.json' to '188.8.131.52' Triggering an agent run on: '184.108.40.206' Disabling password change on hub: '220.127.116.11' Triggering an agent run on: '18.104.22.168' Your demo hub is ready: https://22.214.171.124/ (Username: admin, Password: password)
Note that this demo setup (
--demo) is notoriously insecure.
It has default passwords and open access controls.
Don't use it in a production environment.
Feel free to open pull requests to expand this documentation, add features or fix problems.
You can also pick up an existing task or file an issue in our bug tracker.
cf-remote is a part of the cfengine community repo and has the same license (GPLv3).