The pxp-agent-vanagon was created to build pxp-agent and prepare a .tar.gz that will be used in puppet-agent.
The project is built using vanagon, a packaging utility.
NOTE: the resulted archive cannot be used to run pxp-agent, it is created to be used in the puppet-agent build process.
Available components in the final archive include pxp-agent, cpp-hocon, cpp-pcp-client, leatherman. See the configs/components directory for a full list.
To build the pxp-agent project:
- Ruby and bundler must be installed
- You must have root ssh access to a VM to build on
First, install the gem dependencies:
$ bundle install
Next, if you are building on infrastructure outside of Puppet, you will need to
modify some package dependency names in the configs directory. Any
references to pl-gcc, pl-cmake, pl-yaml-cpp, etc. in these files will need to
be changed to refer to equivalent installable packages on your target platform.
In many cases, you can drop the pl-
prefix and ensure that CXX
or CC
environment variables are what they should be.
You can build the project using vanagon like this:
$ bundle exec build pxp-agent <platform> <target-vm>
Where:
platform
is the name of a platform supported by vanagon and configured in the configs/platforms directorytarget-vm
is the hostname of the VM you will build on. You must have root ssh access configured for this host, and it must match the target platform.