Agentless::Catalog::Executor
App Overview
The Agentless Catalog Executor (ACE) provides agentless executions services for tasks and catalogs to Puppet Enterprise (PE). See developer-docs/api for an API spec.
See below for development info.
Code Overview
API entrypoints are in lib/ace/transport_app.rb
.
Fork isolation is implemented in lib/ace/fork_utils.rb
Catalog compilations use the certless v4 catalog puppetserver endpoint and expose it through the indirector in lib/puppet/indirector/catalog/certless.rb
.
Installation
ACE is built-in to PE as pe-ace-server.
Development
As ACE is dependent on Puppet Server, there is a docker-compose file in the spec/
directory which we advise you run before the ACE service to ensure that the certs and keys are valid. For more information, see the docker documentation.
To release a new version, update the version number in version.rb
, generate a new changelog with bundle exec rake changelog
, commit the results and run bundle exec rake release
, which creates a git tag for the version, pushes git commits and tags, and pushes the .gem
file to rubygems.org. Released gems are eventually consumed by ace-vanagon and promoted into PE.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/puppetlabs/ace. See the .travis.yml
file for which checks to run on your code before submitting. Always include tests with your changes.