Friday, 5 February 2016

Deploying Google Chrome with CFEngine 3

This post describes how to install Google Chrome with a CFEngine 3 and provides a ready-made bundle for download written by yours truly.

Deploying chrome is fairly straight forward, and about the only thing that you need to watch out for is how to get the Google apt signing key distributed and installed on each target machine.

To get the key installed onto each of my target machines, I took the approach of downloading the key manually and saving it to a text file on the cfengine policy hub - CFEngine then replicated this file automatically to each of the target client machines. A promise then executed the debian 'key-add' command to install the key.

This promise bundle also adds the google deb archive, and performs the google chrome install using the built in apt package manager.

Step 1
Download the google-chrome-stable.cf promise file from here and save it to your CFEngine policy server.

Step 2
Create a subdirectory called 'files' and save the google key in a file called chromekey.txt.

A variable called $(this.promise_dirname) is used to access the chrome key file from within the bundle. This means that the key file always exists in a subdirectory relative to the chrome promise bundle and makes specifying absolute paths to the key file un-necessary.

Thats pretty much it. It will take a little while for google-chrome to install because CFEngine is usually configured to run apt-get update once every 24 hours. Allow for that much time to elapse before starting to troubleshoot.

Happy CFEngining