- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with the Distelli agent
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
The Distelli module currently installs, configures, and manages the Distelli Agent service across *nix-centric and Windows based operating systems.
All parameters for the Distelli module are contained within the main ::distelli::agent
class, so for any function of the module, set the options you want. See the common usages below for examples.
In order to get up and running you must at minimum supply the Distelli Access Token and Distelli Secret Key respectively
You will likely want to involve Hiera with some form of encryption enabled to pass in these sensitive items to ensure your credentials are safeguarded.
Since 7zip is required to allow the Archive module to extract the Distelli executable. On *nix platforms, this module will automatically use the package management system associated with your OS distribution (i.e., YUM and RedHat family). On Windows, there is not an official package management system. Therefore you have two options:
- Install 7zip tool by some other means
- Allow this module to install Chocolatey, a Windows package management system, to install 7zip
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
}
Install, configure, and run on Windows without 7zip currently installed:
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
install_chocolatey => true,
}
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
environments => ['production', 'staging', 'development'],
}
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
endpoint => 'us-east-1c:ip-10-0-2-219.ec2.internal:7000',
}
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
version => '3.66.33',
}
class { '::distelli::agent':
access_token => Sensitive('super_long_access_token'),
secret_key => Sensitive('super_secret_key'),
distelli_user_home => '/opt/distelli',
}
- distelli::agent: Main class, includes all other classes.
- distelli::agent::deps: Handles all pre-requisites.
- distelli::agent::nix: Handles the install on *nix based operating systems.
- distelli::agent::windows: Handles the install on Windows based operating systems.
The following parameters are available in the ::distelli::agent
class:
Required.
Data type: Sensitive.
First half of the credentials required to authenticate your Distelli Agent for build or credential storage purposes.
Required.
Data type: Sensitive.
Second half of the credentials required to authenticate your Distelli Agent for build or credential storage purposes.
Optional.
Data type: String.
Home directory for the Distelli user and Distelli executables.
Default value: undef
.
Optional.
Data type: String.
This is the URL or IP address and port for the Distelli agent service.
Default value: undef
.
Optional.
Data type: String.
Distelli specific environments of which have access to this agent.
Default value: undef
.
Optional.
Data type: Boolean.
This will install the Chocolatey package management system. Chocolatey is needed to install the 7zip package if it does not exist on the system prior to instantiating this module.
Default value: false
.
Optional.
Data type: String.
The version of the Distelli agent to be installed.
Default value: undef
.
This module has been tested on Linux-based
Puppet modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. Please follow our guidelines when contributing changes.
For more information, see our module contribution guide.
To see who's already involved, see the list of contributors.