rundeck
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-rundeck', '9.2.0'
Learn more about managing modules with a PuppetfileDocumentation
Rundeck module for Puppet
Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - Requirements and beginning with rundeck
- Usage - Configuration options and additional functionality
- Reference - Module references
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
The rundeck puppet module for installing and managing Rundeck
Supported Versions of Rundeck
Rundeck Version | Rundeck Puppet module versions |
---|---|
2.x - 3.0.X | v5.4.0 and older |
3.1.x - 3.3.x | v8.0.1 until v6.0.0 |
3.4.x - up | v9.0.0 and newer |
Module Description
This module provides a way to manage the installation and configuration of rundeck and plugins.
Setup
Requirements
You need a compatible version of Java installed. You can use puppetlabs/java module if there isn't already a suitable version.
On systems that use apt, there's a soft dependency on the puppetlabs/apt module.
Beginning with rundeck
To install a server and cli with the default options:
include rundeck
Beginning with rundeck cli
To install rundeck cli with the default options:
include rundeck::cli
Usage
Configure rundeck to connect to a MySQL database
To use an external MySQL database, the database_config
hash must be set to
override the default values which result in a local file based storage. To
enable key
and project
storage in the database, you must also set the two
associated parameters.
class { 'rundeck':
key_storage_config => [
{
'type' => 'db',
'path' => 'keys',
},
],
database_config => {
'url' => 'jdbc:mysql://myserver/rundeck',
'username' => 'rundeck',
'password' => 'verysecure',
'driverClassName' => 'com.mysql.jdbc.Driver',
},
}
Configure SSL for rundeck
class { 'rundeck':
ssl_enabled => true,
ssl_certificate => '/path/to/cert',
ssl_private_key => '/path/to/key',
}
Configure HashiCorp vault as keystorage
An additional Rundeck Vault plugin is required.
class { 'rundeck':
key_storage_config => [
{
'type' => 'vault-storage',
'path' => 'keys',
'config' => {
'prefix' => 'rundeck',
'address' => 'https://vault.example.com',
'storageBehaviour' => 'vault',
'secretBackend' => 'rundeck',
'engineVersion' => '2',
'authBackend' => 'approle',
'approleAuthMount' => 'approle',
'approleId' => 'xxx-xxx-xxx-xxx-xxx',
'approleSecretId' => 'xxx-xxx-xxx-xxx-xxx',
},
},
],
}
Configure multiple keystorage types
class { 'rundeck':
key_storage_config => [
{
'type' => 'file',
'path' => 'keys',
'config' => {
'baseDir => '/path/to/dir',
},
},
{
'type' => 'db',
'path' => 'keys/database',
},
],
}
Configure shared authentication credentials
To perform LDAP authentication and file authorization following code can be used.
class { 'rundeck':
auth_config => {
'file' => {
'auth_flag' => 'sufficient',
'jaas_config' => {
'file' => '/etc/rundeck/realm.properties',
},
'realm_config' => {
'admin_user' => 'admin',
'admin_password' => 'admin',
'auth_users' => [
{
'username' => 'testuser',
'password' => 'password',
'roles' => %w[user deploy]
},
{
'username' => 'anotheruser',
'password' => 'anotherpassword',
'roles' => ['user']
},
],
},
},
'ldap' => {
'jaas_config' => {
'debug' => 'true',
'providerUrl' => 'ldap://server:389',
'bindDn' => 'cn=Manager,dc=example,dc=com',
'bindPassword' => 'secret',
'authenticationMethod' => 'simple',
'forceBindingLogin' => 'false',
'userBaseDn' => 'ou=users,ou=accounts,ou=corp,dc=xyz,dc=com',
'userRdnAttribute' => 'sAMAccountName',
'userIdAttribute' => 'sAMAccountName',
'userPasswordAttribute' => 'unicodePwd',
'userObjectClass' => 'user',
'roleBaseDn' => 'ou=role based,ou=security,ou=groups,ou=test,dc=xyz,dc=com',
'roleNameAttribute' => 'cn',
'roleMemberAttribute' => 'member',
'roleObjectClass' => 'group',
'nestedGroups' => 'true'
},
},
},
}
Configure rundeck class with projects
To add and manage rundeck projects through cli with the rundeck class following code can be used.
class { 'rundeck':
'cli_token' => 'very_secure',
'cli_projects' => {
'MyProject' => {
'update_method' => 'set',
'config' => {
'project.description' => 'This is My rundeck project',
'project.disable.executions' => 'false',
},
},
'TestProject' => {
'config' => {
'project.description' => 'This is a rundeck test project',
'project.disable.schedule' => 'false',
},
},
},
}
Configure rundeck cli class with projects separately
To add and manage rundeck projects through cli with the rundeck class following code can be used.
class { 'rundeck':
'manage_cli' => false,
}
class { 'rundeck::cli':
'manage_repo' => false,
'token' => 'very_secure',
'projects' => {
'MyProject' => {
'update_method' => 'set',
'config' => {
'project.description' => 'This is My rundeck project',
'project.disable.executions' => 'false',
},
},
'TestProject' => {
'config' => {
'project.description' => 'This is a rundeck test project',
'project.disable.schedule' => 'false',
},
},
},
}
Reference
See REFERENCE.md
Limitations
For a list of supported operating systems please check the metadata.json
Development
Contributing
This module is maintained by Vox Pupuli. Vox Pupuli welcomes new contributions to this module, especially those that include documentation and rspec tests. We are happy to provide guidance if necessary.
Please see CONTRIBUTING for more details.
Transfer Notice
This plugin was originally authored by OpenTable Inc. The maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance. Existing pull requests and issues were transferred over, please fork and continue to contribute here instead of Camptocamp.
Reference
Table of Contents
Classes
Public Classes
rundeck
: Class to manage installation and configuration of Rundeck.rundeck::cli
: Class to manage installation and configuration of Rundeck CLI.
Private Classes
rundeck::config
: This class is called from rundeck to manage the configuration.rundeck::config::framework
: This private class is called from rundeck::config used to manage the framework properties of rundeck.rundeck::config::jaas_auth
: This private class is called from rundeck::config used to manage jaas authentication for rundeck.rundeck::config::ssl
: This private class is called from rundeck::config used to manage the ssl properties if ssl is enabled.rundeck::install
: This class is called from rundeck for install.rundeck::service
: This class is called from rundeck to manage service.
Defined types
rundeck::config::aclpolicyfile
: This define will create a custom acl policy file.rundeck::config::plugin
: This define will install a rundeck plugin.rundeck::config::project
: This define will manage projects and jobs.rundeck::config::secret
: This define will manage secrets in key storage.
Functions
Data types
Rundeck::Auth_config
: Rundeck authentication config type.Rundeck::Db_config
: Rundeck database config type.Rundeck::Job
: Rundeck job type.Rundeck::Key_storage_config
: Rundeck key storage config type.Rundeck::Loglevel
: Rundeck log level type.Rundeck::Mail_config
: Rundeck mail config type.Rundeck::Project
: Rundeck project type.Rundeck::Scm
: Rundeck scm type.
Classes
rundeck
Class to manage installation and configuration of Rundeck.
Parameters
The following parameters are available in the rundeck
class:
override_dir
repo_config
manage_repo
package_ensure
manage_home
user
group
manage_user
manage_group
user_id
group_id
admin_policies
api_policies
manage_default_admin_policy
manage_default_api_policy
grails_server_url
clustermode_enabled
execution_mode
api_token_max_duration
java_home
jvm_args
quartz_job_threadcount
auth_config
database_config
feature_config
framework_config
grails_config
gui_config
mail_config
security_config
preauthenticated_config
key_storage_config
key_storage_encrypt_config
root_log_level
app_log_level
audit_log_level
webhook_plugins_log_level
execution_cleanup_log_level
jaas_log_level
config_template
override_template
realm_template
log_properties_template
rss_enabled
server_web_context
ssl_enabled
ssl_port
ssl_certificate
ssl_private_key
key_password
keystore
keystore_password
truststore
truststore_password
service_name
service_ensure
service_logs_dir
service_notify
service_config
service_script
manage_cli
cli_version
cli_user
cli_password
cli_token
cli_projects
override_dir
Data type: Stdlib::Absolutepath
An absolute path to the overrides directory. Examples/defaults for yumrepo can be found at RedHat.yaml, and for apt at Debian.yaml
repo_config
Data type: Hash
A hash of repository attributes for configuring the rundeck package repositories. Examples/defaults for yumrepo can be found at RedHat.yaml, and for apt at Debian.yaml
manage_repo
Data type: Boolean
Whether to manage the package repository.
Default value: true
package_ensure
Data type: String[1]
Ensure the state of the rundeck package, either present, absent or a specific version.
Default value: 'installed'
manage_home
Data type: Boolean
Whether to manage rundeck home dir.
Default value: true
user
Data type: String[1]
The user that rundeck is installed as.
Default value: 'rundeck'
group
Data type: String[1]
The group permission that rundeck is installed as.
Default value: 'rundeck'
manage_user
Data type: Boolean
Whether to manage user
(and enforce user_id
if set).
Default value: false
manage_group
Data type: Boolean
Whether to manage group
(and enforce group_id
if set).
Default value: false
user_id
Data type: Optional[Integer]
If you want to have always the same user id. Eg. because of a NFS share.
Default value: undef
group_id
Data type: Optional[Integer]
If you want to have always the same group id. Eg. because of a NFS share.
Default value: undef
admin_policies
Data type: Array[Hash]
Admin acl policies.
Default value:
[
{
'description' => 'Admin, all access',
'context' => { 'project' => '.*' },
'for' => {
'resource' => [{ 'allow' => '*' }],
'adhoc' => [{ 'allow' => '*' }],
'job' => [{ 'allow' => '*' }],
'node' => [{ 'allow' => '*' }],
},
'by' => [{ 'group' => ['admin'] }],
},
{
'description' => 'Admin, all access',
'context' => { 'application' => 'rundeck' },
'for' => {
'project' => [{ 'allow' => '*' }],
'resource' => [{ 'allow' => '*' }],
'storage' => [{ 'allow' => '*' }],
},
'by' => [{ 'group' => ['admin'] }],
},
]
api_policies
Data type: Array[Hash]
Apitoken acl policies.
Default value:
[
{
'description' => 'API project level access control',
'context' => { 'project' => '.*' },
'for' => {
'resource' => [
{ 'equals' => { 'kind' => 'job' }, 'allow' => ['create', 'delete'] },
{ 'equals' => { 'kind' => 'node' }, 'allow' => ['read', 'create', 'update', 'refresh'] },
{ 'equals' => { 'kind' => 'event' }, 'allow' => ['read', 'create'] },
],
'adhoc' => [{ 'allow' => ['read', 'run', 'kill'] }],
'job' => [{ 'allow' => ['read', 'create', 'update', 'delete', 'run', 'kill'] }],
'node' => [{ 'allow' => ['read', 'run'] }],
},
'by' => [{ 'group' => ['api_token_group'] }],
},
{
'description' => 'API Application level access control',
'context' => { 'application' => 'rundeck' },
'for' => {
'project' => [{ 'match' => { 'name' => '.*' }, 'allow' => ['read'] }],
'resource' => [{ 'equals' => { 'kind' => 'system' }, 'allow' => ['read'] }],
'storage' => [{ 'match' => { 'path' => '(keys|keys/.*)' }, 'allow' => '*' }],
},
'by' => [{ 'group' => ['api_token_group'] }],
},
]
manage_default_admin_policy
Data type: Boolean
Whether to manage the default admin policy.
Default value: true
manage_default_api_policy
Data type: Boolean
Whether to manage default api policy.
Default value: true
grails_server_url
Data type: Stdlib::HTTPUrl
Sets grails.serverURL
so that Rundeck knows its external address.
Default value: "http://${facts['networking']['fqdn']}:4440"
clustermode_enabled
Data type: Boolean
Wheter to enable cluster mode.
Default value: false
execution_mode
Data type: Enum['active', 'passive']
Set the execution mode to 'active' or 'passive'.
Default value: 'active'
api_token_max_duration
Data type: String[1]
Set the token max duration.
Default value: '30d'
java_home
Data type: Optional[Stdlib::Absolutepath]
Set the home directory of java.
Default value: undef
jvm_args
Data type: String
Extra arguments for the JVM.
Default value: '-Xmx1024m -Xms256m -server'
quartz_job_threadcount
Data type: Integer
The maximum number of threads used by Rundeck for concurrent jobs.
Default value: 10
auth_config
Data type: Rundeck::Auth_config
Hash of properties for configuring Rundeck JAAS Authentication
Default value:
{
'file' => {
'auth_flag' => 'required',
'jaas_config' => {
'file' => '/etc/rundeck/realm.properties',
},
'realm_config' => {
'admin_user' => 'admin',
'admin_password' => 'admin',
'auth_users' => [],
},
},
}
database_config
Data type: Rundeck::Db_config
Hash of properties for configuring the Rundeck Database
Default value: { 'url' => 'jdbc:h2:file:/var/lib/rundeck/data/rundeckdb' }
feature_config
Data type: Hash
A hash of rundeck features.
Default value: {}
framework_config
Data type: Hash
Hash of properties for configuring the Rundeck Framework This hash will be merged with the Rundeck defaults
Default value: {}
grails_config
Data type: Hash
A hash of the rundeck grails configuration.
Default value: {}
gui_config
Data type: Hash
Hash of properties for customizing the Rundeck GUI
Default value: {}
mail_config
Data type: Rundeck::Mail_config
A hash of the notification email configuraton.
Default value: {}
security_config
Data type: Hash
A hash of the rundeck security configuration.
Default value: {}
preauthenticated_config
Data type: Hash
A hash of the rundeck preauthenticated configuration.
Default value: {}
key_storage_config
Data type: Rundeck::Key_storage_config
An array with hashes of properties for customizing the Rundeck Key Storage
Default value: [{ 'type' => 'db', 'path' => 'keys' }]
key_storage_encrypt_config
Data type: Array[Hash]
An array with hashes of properties for customizing the Rundeck Key Storage converter
Default value: []
root_log_level
Data type: Rundeck::Loglevel
The log4j root logging level to be set for Rundeck.
Default value: 'info'
app_log_level
Data type: Rundeck::Loglevel
The log4j logging level to be set for the Rundeck application.
Default value: 'info'
audit_log_level
Data type: Rundeck::Loglevel
The log4j logging level to be set for the Rundeck autorization.
Default value: 'info'
webhook_plugins_log_level
Data type: Rundeck::Loglevel
The log4j logging level to be set for the Rundeck plugin webhooks.
Default value: 'info'
execution_cleanup_log_level
Data type: Rundeck::Loglevel
The log4j logging level to be set for the Rundeck execution cleanup.
Default value: 'info'
jaas_log_level
Data type: Rundeck::Loglevel
The log4j logging level to be set for the Rundeck jaas security.
Default value: 'info'
config_template
Data type: String[1]
The template used for rundeck-config properties. Needs to be in epp format.
Default value: 'rundeck/rundeck-config.properties.epp'
override_template
Data type: String[1]
The template used for rundeck profile overrides. Needs to be in epp format.
Default value: 'rundeck/profile_overrides.epp'
realm_template
Data type: String[1]
The template used for jaas realm properties. Needs to be in epp format.
Default value: 'rundeck/realm.properties.epp'
log_properties_template
Data type: String[1]
The template used for log properties. Needs to be in epp format.
Default value: 'rundeck/log4j2.properties.epp'
rss_enabled
Data type: Boolean
Boolean value if set to true enables RSS feeds that are public (non-authenticated)
Default value: false
server_web_context
Data type: Optional[String[1]]
Web context path to use, such as "/rundeck". http://host.domain:port/server_web_context
Default value: undef
ssl_enabled
Data type: Boolean
Enable ssl for the rundeck web application.
Default value: false
ssl_port
Data type: Stdlib::Port
Ssl port of the rundeck web application.
Default value: 4443
ssl_certificate
Data type: Stdlib::Absolutepath
Full path to the SSL public key to be used by Rundeck.
Default value: '/etc/rundeck/ssl/rundeck.crt'
ssl_private_key
Data type: Stdlib::Absolutepath
Full path to the SSL private key to be used by Rundeck.
Default value: '/etc/rundeck/ssl/rundeck.key'
key_password
Data type: Optional[String[1]]
The password used to protect the key in keystore.
Default value: undef
keystore
Data type: Stdlib::Absolutepath
Full path to the java keystore to be used by Rundeck.
Default value: '/etc/rundeck/ssl/keystore'
keystore_password
Data type: String[1]
The password for the given keystore.
Default value: 'adminadmin'
truststore
Data type: Stdlib::Absolutepath
The full path to the java truststore to be used by Rundeck.
Default value: '/etc/rundeck/ssl/truststore'
truststore_password
Data type: String[1]
The password for the given truststore.
Default value: 'adminadmin'
service_name
Data type: String[1]
The name of the rundeck service.
Default value: 'rundeckd'
service_ensure
Data type: Enum['stopped', 'running']
State of the rundeck service.
Default value: 'running'
service_logs_dir
Data type: Stdlib::Absolutepath
The path to the directory to store service related logs.
Default value: '/var/log/rundeck'
service_notify
Data type: Boolean
Wheter to notify and restart the rundeck service if config changes.
Default value: true
service_config
Data type: Optional[String[1]]
Allows you to use your own override template instead to config rundeckd init script.
Default value: undef
service_script
Data type: Optional[String[1]]
Allows you to use your own override template instead of the default from the package maintainer for rundeckd init script.
Default value: undef
manage_cli
Data type: Boolean
Whether to manage rundeck cli config and resource with the rundeck class or not.
Default value: true
cli_version
Data type: String[1]
Ensure the state of the rundeck cli package, either present, absent or a specific version.
Default value: 'installed'
cli_user
Data type: String[1]
Cli user to authenticate.
Default value: 'admin'
cli_password
Data type: String[1]
Cli password to authenticate.
Default value: 'admin'
cli_token
Data type: Optional[String[8]]
Cli token to authenticate.
Default value: undef
cli_projects
Data type: Hash[String, Rundeck::Project]
Cli projects config.
Default value: {}
rundeck::cli
Class to manage installation and configuration of Rundeck CLI.
Examples
Use cli with token and project config.
class { 'rundeck::cli':
manage_repo => false,
url => 'https://rundeck01.example.com',
bypass_url => 'https://rundeck.example.com',
token => 'very_secure',
projects => {
'MyProject' => {
'update_method' => 'set',
'config' => {
'project.description' => 'This is My rundeck project',
'project.disable.executions' => 'false',
},
},
'TestProject' => {
'config' => {
'project.description' => 'This is a rundeck test project',
'project.disable.schedule' => 'false',
},
},
},
}
Parameters
The following parameters are available in the rundeck::cli
class:
repo_config
Data type: Hash
A hash of repository attributes for configuring the rundeck cli package repositories. Examples/defaults for yumrepo can be found at RedHat.yaml, and for apt at Debian.yaml
manage_repo
Data type: Boolean
Whether to manage the cli package repository.
Default value: true
notify_conn_check
Data type: Boolean
Wheter to notify the cli connection check if rundeck service changes.
Default value: false
version
Data type: String[1]
Ensure the state of the rundeck cli package, either present, absent or a specific version.
Default value: 'installed'
url
Data type: Stdlib::HTTPUrl
Rundeck instance/api url.
Default value: 'http://localhost:4440'
bypass_url
Data type: Stdlib::HTTPUrl
Rundeck external url to bypass. This will rewrite any redirect to $bypass_url as $url
Default value: 'http://localhost:4440'
user
Data type: String[1]
Cli user to authenticate.
Default value: 'admin'
password
Data type: String[1]
Cli password to authenticate.
Default value: 'admin'
token
Data type: Optional[String[8]]
Cli token to authenticate.
Default value: undef
projects
Data type: Hash[String, Rundeck::Project]
Cli projects config. See example for structure and rundeck::config::project for available params.
Default value: {}
Defined types
rundeck::config::aclpolicyfile
This define will create a custom acl policy file.
Examples
Admin access.
rundeck::config::aclpolicyfile { 'myPolicyFile':
acl_policies => [
{
'description' => 'Admin, all access',
'context' => { 'project' => '.*' },
'for' => {
'resource' => [{ 'allow' => '*' }],
'adhoc' => [{ 'allow' => '*' }],
'job' => [{ 'allow' => '*' }],
'node' => [{ 'allow' => '*' }],
},
'by' => [{ 'group' => ['admin'] }],
},
{
'description' => 'Admin, all access',
'context' => { 'application' => 'rundeck' },
'for' => {
'project' => [{ 'allow' => '*' }],
'resource' => [{ 'allow' => '*' }],
'storage' => [{ 'allow' => '*' }],
},
'by' => [{ 'group' => ['admin'] }],
},
],
}
Parameters
The following parameters are available in the rundeck::config::aclpolicyfile
defined type:
acl_policies
Data type: Array[Hash]
An array of hashes containing acl policies. See example.
ensure
Data type: Enum['present', 'absent']
Set present or absent to add or remove the acl policy file.
Default value: 'present'
owner
Data type: String[1]
The user that rundeck is installed as.
Default value: 'rundeck'
group
Data type: String[1]
The group permission that rundeck is installed as.
Default value: 'rundeck'
properties_dir
Data type: Stdlib::Absolutepath
The rundeck configuration directory.
Default value: '/etc/rundeck'
rundeck::config::plugin
This define will install a rundeck plugin.
Examples
Basic usage.
rundeck::config::plugin { 'rundeck-hipchat-plugin-1.0.0.jar':
source => 'http://search.maven.org/remotecontent?filepath=com/hbakkum/rundeck/plugins/rundeck-hipchat-plugin/1.0.0/rundeck-hipchat-plugin-1.0.0.jar',
}
Parameters
The following parameters are available in the rundeck::config::plugin
defined type:
source
Data type: String[1]
The http source or local path from which to get the plugin.
ensure
Data type: Enum['present', 'absent']
Set present or absent to add or remove the plugin.
Default value: 'present'
owner
Data type: String[1]
The user that rundeck is installed as.
Default value: 'rundeck'
group
Data type: String[1]
The group permission that rundeck is installed as.
Default value: 'rundeck'
plugins_dir
Data type: Stdlib::Absolutepath
Directory where plugins will be installed.
Default value: '/var/lib/rundeck/libext'
proxy_server
Data type: Optional[Stdlib::HTTPUrl]
Get the plugin trough a proxy server.
Default value: undef
rundeck::config::project
This define will manage projects and jobs.
Examples
Basic usage.
rundeck::config::project { 'MyProject':
config => {
'project.description' => 'My test project',
'project.disable.schedule' => 'false',
},
}
Advanced usage with jobs.
rundeck::config::project { 'MyProject':
config => {
'project.description' => 'My test project',
'project.disable.schedule' => 'false',
},
jobs => {
'MyJob1' => {
'path' => '/etc/myjob1',
'format' => 'yaml',
},
'MyJob2' => {
'path' => '/etc/myjob2',
'format' => 'xml',
},
'DeleteJob1' => {
'ensure' => 'absent',
'path' => '/etc/testjob1',
'format' => 'yaml',
},
},
}
Advanced usage with scm_config.
rundeck::config::project { 'MyProject':
config => {
'project.description' => 'My test project',
'project.disable.schedule' => 'false',
},
scm_config => {
'import' => {
'type' => 'git-import',
'config' => {
'strictHostKeyChecking' => 'yes',
'gitPasswordPath' => 'keys/example-access-token',
'format' => 'xml',
'dir' => '/var/lib/rundeck/projects/MyProject/ScmImport',
'branch' => 'master',
'url' => 'https://myuser@example.com/example/example.git',
'filePattern' => '*.xml',
'useFilePattern' => 'true',
'pathTemplate' => "\${job.id}.\${config.format}",
'importUuidBehavior' => 'preserve',
'sshPrivateKeyPath' => '',
'fetchAutomatically' => 'true',
'pullAutomatically' => 'true',
},
},
},
}
Parameters
The following parameters are available in the rundeck::config::project
defined type:
ensure
Data type: Enum['absent', 'present']
Whether or not the project should be present.
Default value: 'present'
config
Data type: Hash[String, String]
Configuration properties for a project.
Default value:
{
'project.description' => "${name} project",
'project.label' => $name,
'project.disable.executions' => 'false',
'project.disable.schedule' => 'false',
'project.execution.history.cleanup.batch' => '500',
'project.execution.history.cleanup.enabled' => 'true',
'project.execution.history.cleanup.retention.days' => '60',
'project.execution.history.cleanup.retention.minimum' => '50',
'project.execution.history.cleanup.schedule' => '0 0 0 1/1 * ? *',
'project.jobs.gui.groupExpandLevel' => '1',
}
update_method
Data type: Enum['set', 'update']
set: Overwrite all configuration properties for a project. Any config keys not included will be removed. update: Modify configuration properties for a project. Only the specified keys will be updated.
Default value: 'update'
jobs
Data type: Hash[String, Rundeck::Job]
Rundeck jobs related to a project.
Default value: {}
owner
Data type: String[1]
The user that rundeck is installed as.
Default value: 'rundeck'
group
Data type: String[1]
The group permission that rundeck is installed as.
Default value: 'rundeck'
projects_dir
Data type: Stdlib::Absolutepath
Directory where some project config will be stored.
Default value: '/var/lib/rundeck/projects'
scm_config
Data type: Optional[Rundeck::Scm]
A hash of name value pairs representing properties for the scm.json file.
Default value: undef
rundeck::config::secret
This define will manage secrets in key storage.
Examples
Basic usage.
rundeck::config::secret { 'keys/mysecret':
content => 'very_secure_password',
}
Parameters
The following parameters are available in the rundeck::config::secret
defined type:
content
Data type: Variant[String, Sensitive[String]]
The secret content.
ensure
Data type: Enum['absent', 'present']
Whether or not the secret should be present.
Default value: 'present'
type
Data type: Enum['password', 'privateKey', 'publicKey']
The type of the secret.
Default value: 'password'
keystorage_path
Data type: String[1]
The path in rundeck key storage.
Default value: $name
owner
Data type: String[1]
The user that rundeck is installed as.
Default value: 'rundeck'
group
Data type: String[1]
The group permission that rundeck is installed as.
Default value: 'rundeck'
keystorage_dir
Data type: Stdlib::Absolutepath
The directory on filesystem where the secret files are stored.
Default value: '/var/lib/rundeck/keystorage'
Functions
validate_rd_policy
Type: Ruby 3.x API
''
validate_rd_policy()
''
Returns: Any
Data types
Rundeck::Auth_config
Rundeck authentication config type.
Alias of
Struct[{
Optional['file'] => Hash[String, Any],
Optional['ldap'] => Hash[String, Any],
Optional['pam'] => Hash[String, Any],
}]
Rundeck::Db_config
Rundeck database config type.
Alias of
Struct[{
'url' => String,
Optional['driverClassName'] => String,
Optional['username'] => String,
Optional['password'] => Variant[String[8], Sensitive[String[8]]],
Optional['dialect'] => String,
Optional['properties.validationQuery'] => String,
}]
Rundeck::Job
Rundeck job type.
Alias of
Struct[{
'path' => Stdlib::Absolutepath,
'format' => Enum['yaml', 'xml', 'json'],
Optional['ensure'] => Enum['absent', 'present'],
}]
Rundeck::Key_storage_config
Rundeck key storage config type.
Alias of
Array[Struct[{
'type' => String,
'path' => String,
Optional['removePathPrefix'] => Boolean,
Optional['config'] => Hash,
}]]
Rundeck::Loglevel
Rundeck log level type.
Alias of Enum['all', 'debug', 'error', 'fatal', 'info', 'off', 'trace', 'warn']
Rundeck::Mail_config
Rundeck mail config type.
Alias of
Struct[{
Optional['host'] => String,
Optional['port'] => Integer,
Optional['username'] => String,
Optional['password'] => Variant[String[8], Sensitive[String[8]]],
Optional['props'] => Array[Hash],
Optional['default.from'] => String,
Optional['default.to'] => String,
Optional['disabled'] => Boolean,
}]
Rundeck::Project
Rundeck project type.
Alias of
Struct[{
Optional['ensure'] => Enum['absent', 'present'],
Optional['config'] => Hash[String, String],
Optional['update_method'] => Enum['set', 'update'],
Optional['jobs'] => Hash[String, Rundeck::Job],
}]
Rundeck::Scm
Rundeck scm type.
Alias of
Variant[Struct[{
'import' => Struct[{
'type' => String[1],
'config' => Hash[String[1], String],
}],
Optional['export'] => Struct[{
'type' => String[1],
'config' => Hash[String[1], String],
}],
}], Struct[{
'export' => Struct[{
'type' => String[1],
'config' => Hash[String[1], String],
}],
Optional['import'] => Struct[{
'type' => String[1],
'config' => Hash[String[1], String],
}],
}]]
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v9.2.0 (2024-12-03)
Implemented enhancements:
- Allow setting Grails configuration in
rundeck-config.properties
#553 (Joris29) - Add scm config options to project define #546 (Joris29)
- Add code for secrets management in keystorage #545 (Joris29)
- Add multiple small code additions and improvements #540 (Joris29)
- Add more log levels and fix job loop #535 (Joris29)
- Add Debian 12 support #532 (bastelfreak)
Fixed bugs:
- framework.logs.dir from the module different than from the RPM #547
- fix:
framework.logs.dir
path #548 (nosrio) - Fix jaas-loginmodule template #537 (Joris29)
- Avoid duplicate resources by including project name #536 (Joris29)
- Remove command opt which caused an infinite loop #534 (Joris29)
Merged pull requests:
- Add Test for latest rundeck v5.7.0-20241021 #555 (bastelfreak)
v9.1.0 (2024-02-29)
Implemented enhancements:
- Add support for adding readme.md and motd.md for projects. #67
- Type/provider for managing jobs #33
- Add Job management #530 (Joris29)
- Add rundeck cli and project management #527 (Joris29)
Fixed bugs:
- Fix debian gpg validation and improve rundeck::install spec file #528 (Joris29)
- Add aditional required framework config #526 (Joris29)
v9.0.1 (2023-12-06)
Fixed bugs:
v9.0.0 (2023-12-05)
Breaking changes:
- Module quality update #520 (Joris29)
- Update key storage parameters and update documentation #516 (Joris29)
Fixed bugs:
- Support for Rundeck 3.3.x #452
- Fix vault key storage options #515 (Joris29)
- Add syncLdapUser param to security_config #511 (nosrio)
Closed issues:
- Missing rundeck.security.syncLdapUser config setting #510
- Rundeck 3.4 no longer supports the rundeck.projectsStorageType configuration property #472
- on VMWare, UUID is created in framework.properties that is overwritten by rundeck #451
- secrets / keys are not stored in the database when using rundeck::key_storage_type: db #426
- [FR] Change rundeck-config.erb to key,value iterator only pattern #406
- Add resourcejson #398
- rdeck_base is documented but not in the param list #197
Merged pull requests:
- Convert documentation to Puppet Strings format #519 (Joris29)
- Bump version requirements of dependencies to allow for their latest version #518 (dandunckelman)
v8.0.1 (2023-10-03)
Fixed bugs:
Closed issues:
- Incorrect example in comments for acl policy file #391
v8.0.0 (2023-08-14)
Breaking changes:
- Drop Puppet 6 support #499 (bastelfreak)
- Inisettings resolve deprecation: use namespaced
create_ini_settings
function #497 (atsonkov)
Implemented enhancements:
- Add Ubuntu 20.04/22.04 support #507 (bastelfreak)
- Add Debian 11 support #506 (bastelfreak)
- Add EL9 support #505 (bastelfreak)
- Add OracleLinux/Rocky/AlmaLinux 8 support #504 (bastelfreak)
- Add sensitive support for db password and ldap password #503 (nosrio)
- Add Puppet 8 support #502 (bastelfreak)
- puppetlabs/stdlib: Allow 9.x #501 (bastelfreak)
- add choice to restart service when properties file change #486 (phaedriel)
Closed issues:
- RSpec error if used with inifile >= 4.2.0 #496
- Add sensitive option for database_config #482
- Module doesn't support apt-key through proxy #471
v7.0.0 (2022-01-16)
recent rundeck versions didn't work properly on CentOS 6. This release does not support CentOS 6 anymore!
Breaking changes:
- modulesync 5.1.0; Drop Puppet 5/Debian 9/Ubuntu 16.04 support #481 (bastelfreak)
- Drop Debian 8, add EL 8 & Ubuntu 18.04 #443 (ekohl)
- drop Ubuntu 14.04 support #433 (bastelfreak)
Implemented enhancements:
- puppetlabs/apt: Allow 8.x #468 (bastelfreak)
- puppetlabs/java: Allow 7.x #467 (bastelfreak)
- puppetlabs/inifile: Allow 5.x #466 (bastelfreak)
- puppetlabs/stdlib: Allow 7.x #465 (bastelfreak)
- puppetlabs/java_ks: Allow 4.x #464 (bastelfreak)
- puppet/archive: allow 5.x #463 (bastelfreak)
- Add possibility to override profile template #461 (josecastroleon)
- Allow puppetlabs/java_ks 3.x #444 (dhoppe)
- Add option storage_encrypt_config #440 (nbarrientos)
- Add config support for Hashicorp Vault plugin #430 (linuxmail)
Closed issues:
- Deprecate Bintray and use the newer repositories #473
- Support for Rundeck >3.3.10 #469
- a colon is added to realm.properties file even when auth_users hash is empty #459
- Incorrect configuration key for threadcount #435
- How to: rundeck.storage.provider.'1'.type = 'vault-storage' #428
Merged pull requests:
- Add dynamic preauthenticated config #477 (Joris29)
- Allow up-to-date dependencies #475 (smortex)
- Update repo location #474 (smortex)
- Fix rubocop issues with override_template MR #462 (josecastroleon)
- (#459) prevent colon added in realm.properties when auth_users hash is empty #460 (overag3)
- modulesync 3.0.0 & puppet-lint updates #448 (bastelfreak)
- 435 - Update threadCount configuration key #436 (Jayfrown)
- allow puppetlabs/inifile 4.x #434 (bastelfreak)
- Clean up acceptance spec helper #429 (ekohl)
v6.0.0 (2019-09-29)
Breaking changes:
- Fix for #419 + update test to use latest version #422 (danifr)
- modulesync 2.7.0 and drop puppet 4 #412 (bastelfreak)
Implemented enhancements:
- Support inifile 2.0.0 or above #387
- Add assume_role_arn for aws-ec2 resource source #410 (jarro2783)
- Turn serialnumber into UUID #401 (jescholl)
Fixed bugs:
- Rundeck 3.1 does not require rundeck-config package anymore #419
- groupdel: cannot remove the primary group of user 'rundeck' #199
Merged pull requests:
- Fix tests for #413 #424 (danifr)
- Allow setting different default file mode #421 (philippeganz)
- Allow
puppetlabs/stdlib
6.x andpuppet/archive
4.x #415 (alexjfisher) - Allow puppetlabs/inifile 3.x #414 (dhoppe)
- Update minimum stdlib version and use Stdlib::Port; require stdlib 4.25.0 instead of 4.21.0 #411 (alexjfisher)
v5.4.0 (2018-10-18)
Implemented enhancements:
Fixed bugs:
Merged pull requests:
- modulesync 2.2.0 and allow puppet 6.x #403 (bastelfreak)
- allow puppetlabs/stdlib 5.x and puppetlabs/apt 5.x #397 (bastelfreak)
v5.3.1 (2018-08-20)
Merged pull requests:
- allow puppetlabs/apt 5.x, puppetlabs/inifile 2.x, puppetlabs/java_ks 2.x, puppet/archive 3.x #395 (bastelfreak)
- pin rundeck to version 2.11.5 #394 (bastelfreak)
v5.3.0 (2018-07-16)
Implemented enhancements:
Fixed bugs:
v5.2.0 (2018-06-17)
Implemented enhancements:
- Creating the home dir is now optional #379 (houtmanj)
- feat(rundeck): add missing key from resources_source #367 (Hoshiyo)
Closed issues:
- Rundeck user/group should be a system user/group #380
Merged pull requests:
- Make rundeck user/group system user/group #381 (philippeganz)
- drop EOL OSs; fix puppet version range #378 (bastelfreak)
- Rely on beaker-hostgenerator for docker nodesets #376 (ekohl)
- fix log_dir in readme #371 (vaboston)
v5.1.0 (2018-02-13)
Implemented enhancements:
Fixed bugs:
- Puppet evaluation error in "rundeck::config::resource_source" #362
- Ensure repos are set up before installing rundeck-config #368 (jre21)
Closed issues:
- Support for SSL Terminated Proxy #225
Merged pull requests:
- replace validate_string with assert_type #365 (bastelfreak)
- Bump stdlib to 4.21.0 #363 (juniorsysadmin)
v5.0.0 (2017-11-10)
Breaking changes:
- Use gpgkey for rpm (#205), remove package_source param, add new params for repos #358 (wyardley)
- Remove service_manage, make service_config and service_script optional #355 (wyardley)
- Breaking: Don't manage user / group by default #351 (wyardley)
- Make private classes explicitly private, prevent setting params via rundeck::config #348 (wyardley)
- Breaking: Switch to Puppet Data Types, switch to integers #343 (wyardley)
Implemented enhancements:
- Insecure downloading of packages #205
- More intelligent, easier SSL setup #30
- Add remaining Puppet data types #357 (wyardley)
- provide option for active/passive executionMode #346 (duffrecords)
- add rolePrefix attribute to LDAP and Active Directory authentication #345 (duffrecords)
- Add support to customize log4j.properties file #339 (idomingu)
Fixed bugs:
- framework.server.port and url is not taking effect due to global config overwrite #303
- Not working #300
- Don't change framework.server.{port,url}, use framework.server.hostname rather than fqdn (#303) #356 (wyardley)
Closed issues:
- Update documentation: dataSource_config should be database_config #340
- SSL truststore path is incorrect #232
- create_resources requiring uniqueness for resource_source names across projects #231
Merged pull requests:
- Create a simple project with default values in the acceptance test #359 (wyardley)
- remove unneeded 'p' statements #354 (wyardley)
- add docs for #346 #353 (wyardley)
- Docs fixes #352 (wyardley)
- update docs for grails_server_url #347 (wyardley)
- changed requirements for puppet-archive to allow version 2.x #344 (clxnetom)
- Allow all strings for file_copier_provider #342 (alexjfisher)
- Fix
database_config
parameter documentation #341 (alexjfisher)
v4.1.0 (2017-09-17)
Implemented enhancements:
- Enable installation/configuration of Rundeck v2.8.x. #316 (dandunckelman)
Fixed bugs:
Closed issues:
Merged pull requests:
- Drop support for RedHat 5 and Ubuntu 12, Update README and metadata. #338 (wyardley)
- Fix tests for file resources in defined type (partially reverts #336) #337 (wyardley)
- Remove 'require' statements on file resources that aren't declared #336 (wyardley)
- Update for use with puppet5 #332 (attachmentgenie)
- Add the rest of the options to the security hash for the rundeck config. #329 (jasonschwab)
- Release 4.1.0 #327 (bastelfreak)
v4.0.1 (2017-07-04)
Fixed bugs:
- Add missing undeckd= in profile.erb #323 (stigboyeandersen)
- Change to use
fqdn_uuid()
function #322 (petems)
Closed issues:
- Rundeck service not starting #319
v4.0.0 (2017-06-27)
Fixed bugs:
- Fix ini settings for aws-ec2 resource source #320 (ortz)
- Adding missing api config settings. #310 (attachmentgenie)
Closed issues:
- No code to manage cacert (ldaps) and rundeck's private key #182
Merged pull requests:
- Set debian apt_repo as default debian installation method #308 (cy4n)
- Update readme apt install #307 (cy4n)
v3.3.0 (2017-01-12)
Closed issues:
- puppet adding double quotes to allow parameters #292
- Add Quartz job threadCount variable #289
- key storage definition using puppet-rundeck module #287
- /etc/rundeck/profile format changed with rundeck-2.6.10 #284
- Metadata declare dependency of version 1.0.3 of puppetlabs-inifile but it doesn't contain create_ini_settings #268
Merged pull requests:
- added userPasswordAttribute to ldap config, like AD config #299 (sjsmit)
- Set minimum version dependencies (for Puppet 4) #298 (juniorsysadmin)
- Set puppet minimum version_requirement to 3.8.7 #295 (juniorsysadmin)
- Add variable quartz_job_threadCount #290 (danifr)
- install rundeck from apt for osfamily debian #286 (cy4n)
- Rubocop fixes #281 (alexjfisher)
- Add missing badges #280 (dhoppe)
- Revert "Add missing node resource properties to acltemplate" #274 (bastelfreak)
- Add missing node resource properties to acltemplate #273 (cy4n)
- This adds a boolean class parameter to the rundeck class to allow people #271 (dustinak)
- Fix issue #268. #269 (jairojunior)
- add: tags to fix aclpolicy #265 (zlanyi)
v3.2.0 (2016-10-05)
Closed issues:
- puppet/archive dependency break compatibility with camptocamp/archive #263
- resource_source.pp does not support puppetenterprise parameter puppetdb_ssl_dir #257
- job_type branch and deps on File[/usr/bin/gem] File[/usr/bin/ruby] #119
Merged pull requests:
- Modulesync 0.12.8 & Release 3.2.0 #270 (bastelfreak)
- Update puppet/archive dependency #267 (alexjfisher)
- this change allow puppet/archive to live together with camptocamp/archive #264 (lzecca78)
- Add missing 'rd_auditlevel' parameter to config.pp #262 (tomtheun)
- Feature: Keytool #261 (zlanyi)
- puppetdb_ssl_dir is added as parameter #258 (ltutar)
- feature: set user and group id because of NFS Share #254 (zlanyi)
v3.1.0 (2016-07-11)
Closed issues:
Merged pull requests:
- add: support to set more roles in web.xml #250 (zlanyi)
- able to change ssl port through parameter #249 (ltutar)
- Sync metadata.json license to be same as LICENSE (MIT) #244 (juniorsysadmin)
- Remove
tests
directory #243 (alexjfisher) - Example manifest to demo-install Rundeck on EL7 #242 (vinzent)
- added puppet enterprise resource type #241 (dalisch)
- Modulesync 0.7.0 #240 (bastelfreak)
- fixed management of $file_keystore_dir #239 (dalisch)
v3.0.0 (2016-05-30)
Merged pull requests:
- modulesync 0.7.0 + release 3.0.0 #237 (bastelfreak)
v2.3.0 (2016-05-27)
Closed issues:
- Could not autoload puppet/parser/functions/validate_rd_policy: no such file to load -- puppetx/rundeck/acl #235
- undefined method `each' for nil:NilClass #208
- Add possibility to change loglevel for some rundeck logs #207
- Change "required" to "sufficient" in _auth_file.erb as workaround for rundeck bug #206
- Rundeck private key id_rsa incorrectly set to mode '0640' #196
- All module variables should be ordered alphabetically #188
- Evaluation Error on require of puppet/util/rundeck_acl #125
Merged pull requests:
- updating changelog for version 2.3.0 #236 (danifr)
- Do not write non-existent mail configuration #234 (danifr)
- Added option to template : 'forceBindingLoginUseRootContextForRoles' #228 (zlanyi)
- Add param to configure service state #223 (danifr)
- Simple fix aclpolicy.erb template #222 (devcfgc)
- Correcting values of project.organization and projection.description #221 (brmorris)
- Simple fix qualify command #220 (devcfgc)
- Allow disabling download of debian package. #219 (aequitas)
- Automate configuration of SCM export properties in a project #218 (dalisch)
- Amend default policy for full storage control #216 (prozach)
- Documentation fixes #215 (prozach)
- Add CentOS 7 to tested platforms #214 (prozach)
- Add note and example about using an external MySQL DB #213 (prozach)
- Fix audit loglevel 207 #212 (remixtj)
- Update _auth_file.erb (fixes #206) #211 (remixtj)
- Add Rundeck GUI customization properties #210 (dalisch)
- Fix indentation for nodename property in aclpolicy template #209 (cy4n)
- refactored file permissions management #204 (dalisch)
- fix(validate_rd_policy) expand relative path for require #201 (igalic)
- Pin rake to avoid rubocop/rake 11 incompatibility #200 (roidelapluie)
- Revert "Simplify the acl template" #195 (jyaworski)
- Added management of scm-import.properties #193 (dalisch)
- Ensure rundeck directories are owned by $user and $group #191 (danifr)
- Remove auth-constraint from web.xml if preauthenticated mode enabled #190 (danifr)
- Order variables alphabetically #189 (danifr)
- Update from voxpupuli modulesync_config #187 (jyaworski)
- Linting changes and rubocop updates #185 (jyaworski)
- default policy management is now optional #184 (bovy89)
- Support preauthenticated mode config #175 (danifr)
- Add support for customizing profile #174 (danifr)
- Simplify the acl template #173 (grafjo)
- Add ability to specify different project and key storage types #167 (jyaworski)
v2.2.0 (2016-02-19)
Implemented enhancements:
Merged pull requests:
- fixing spec tests #180 (liamjbennett)
- updating changelog for version 2.2.0 #179 (liamjbennett)
- adding required .gitignore entries #178 (liamjbennett)
- added provisioning of file-based keystores via hiera #172 (dalisch)
- Fixes GH-157 #171 (jyaworski)
- fix typo: voxpupuliy -> voxpupuli #170 (bastelfreak)
- Rename to voxpupuli #169 (petems)
- Move to rundeck_version as a fact #165 (jyaworski)
- value field in ini_setting is now always a string #164 (bovy89)
- should contain JettyCachingLdapLoginModule and be sufficient #163 (dalisch)
- disable H2 database logging in log4j.properties #161 (dalisch)
- Make ssh_keypath and projects_dir parameters of the project defined type #153 (jyaworski)
- updating metadata and changelog for 2.1.0 release #152 (liamjbennett)
- Updating module_sync exceptions for rubocop in files directory. #151 (liamjbennett)
- Implement #137, adding the rundeck_server parameter #148 (jyaworski)
- Fixing the autoload of the rundeck_acl function. #146 (liamjbennett)
- key storage non-default dir path support #145 (rooty0)
- add gui session timeout support #144 (rooty0)
- removing old example related to java install #143 (rooty0)
- remove java dependency from deb #141 (rooty0)
- Validate ACLs against rd-acl recommendations #139 (jyaworski)
- (#132) Fixing bad syntax on rundeck_version fact #138 (jbehrends)
- Add .sync.yml for modulesync #136 (jyaworski)
- Add RHEL7/CentOS7 to supported OS list #135 (jyaworski)
- Update from puppet-community modulesync_configs #134 (jyaworski)
- adding usage section with shared ldap configuration example #130 (rooty0)
- Documentation fix for option auth_type #129 (rooty0)
- Only include ssl bits when ssl is enabled #128 (jyaworski)
- Add rundeck::projects to specify projects in your rundeck instance #127 (jyaworski)
- (#112) Add
aws-ec2
as resource_source to support Rundeck EC2 Nodes Plugin #113 (patcadelina) - (#110) Add support for customizing realm.properties #111 (patcadelina)
- (#108) Add support for customizing rundeck-config #109 (patcadelina)
v2.1.0 (2016-02-19)
Implemented enhancements:
- Validate ACL policy #103
- log4j config needs update #85
- params list are huge now, no instruction on how to use them properly. #82
- Add support for JettyCombinedLdapLoginModule #68
- Add support for rundeck.projectsStorageType setting #66
Closed issues:
- Aclpolicy is getting null pointer #160
- resource_source's validation of $number is too restrictive #157
- PE2015.2.3 Error: Facter: error while processing "/etc/facter/facts.d/rundeck_facts.rb" for external facts: child process returned non-zero exit status (127). #156
- Invalid parameter: 'ssh_keypath' #150
- Modulesync? #133
- Error on rundeck::facts crashing old puppetdb #132
- Librarian-puppet can't find puppet/archive #131
- What about a new module release? #126
- Changing the database doesn't move project data #124
- Project define doesn't have ssh_keypath parameter #118
- Ensure that puppet-archive dependency is correctly installed #115
- Add aws-ec2 as resource_source #112
- Add support for customizing realm.properties #110
- Add support for customizing rundeck-config #108
v2.0.0 (2015-09-11)
Implemented enhancements:
Fixed bugs:
- bug in Rundeck::Install #91
- bindDn define are different in ldap and AD #84
- Duplicate declaration $properties_file project.pp vs resource_source.pp #83
- use ${pd} variable to replace /var/lib/rundeck/libext, if not default value #79
- Resource ["File", "/var/lib/rundeck/libext"] already declared #77
- bug report - rundeck user account #72
- Default JDK versions are out of date #48
- puppet-omnibus didn't work with puppet-rundeck. #45
- Storage access for admin group #44
Closed issues:
- Invalid acl policies generated? #121
- Support for self signed certificate #107
- PR #76 breaks due to incomplete "framework_config" #100
- ldap template typo #96
- jre_manage is broken #94
- doesn't have ldaps support #93
- rd-jobs is failed after change admin password #87
- How to prepare the hiera yaml file for
auth_config
intemplates/realm.properties.erb
#78
Merged pull requests:
- Fix ACL format #123 (jyaworski)
- Make supplemental_roles an array, not a string #122 (jyaworski)
- Add pam support to authentication #120 (jyaworski)
- A new function to validate the acl policies #117 (liamjbennett)
- Removed stale resource_source documentation #116 (grafjo)
- Set java_home directory #114 (BobVanB)
- fetching packages over tls instead of clear test #106 (gcmalloc)
- Fix for #100 deep merging issue with aclpolicyfile #105 (liamjbennett)
- Fix the projects directory default in framework.properies. #104 (liamjbennett)
- Fixed invalid metadata.json #101 (grafjo)
- fix typo in ldap template #97 (rooty0)
- Fix for #72 - bug with non-default user and group #90 (liamjbennett)
- Refactoring (again) how the rundeck_version fact is generated. #89 (liamjbennett)
- Option 2 - removing the management of the java jre #88 (liamjbennett)
- bugfix/#81 - service need be restarted if config is changed. #81 (ozbillwang)
- Enhanced acl policy files with rundeck::config::aclpolicyfile #76 (grafjo)
- Allow an "url" parameter for LDAP connection (issue #61) #64 (wcooley)
- Resource source refactor #34 (smithtrevor)
- Plugin refactor #31 (smithtrevor)
v1.2.0 (2015-05-22)
Closed issues:
- Wrong user & group variables for project dir in resource_source #73
- Why /etc/rundeck/rundeck-config.properties is removed and replaced by rundeck-config.groovy #70
- Add ability to use "roleUsernameMemberAttribute" for JAAS LDAP auth #62
- Add ability to replace $rundeck::params::jvm_args #59
- log4j config for access log is truncated #57
- package_version and package_source (baseurl) are not supported for Redhat/CentOS. #43
- Fact rundeck_version is not OS aware #41
- rundeck url change to http://localhost:4440 #40
- New owner, what happen? #39
- Build fails, so no commits to forge.puppetlabs.com #36
Merged pull requests:
- Fixed admin.aclpolicy params #75 (grafjo)
- Fix #73 - Wrong user & group variables for project dir in resource_source #74 (wcooley)
- bugfix/#43 - rundeck service is not restarted after upgraded in CentOS #69 (ozbillwang)
- Enable "roleUsernameMemberAttribute" for LDAP auth (issue #62) #65 (wcooley)
- Add context for merging potentially conflicting LDAP tests (issues #61 & #62) #63 (wcooley)
- Add support for setting jvm_args (issue #59) #60 (wcooley)
- Fix clipped log format without newline (issue #57) #58 (wcooley)
- Require Java 1.7 for RHEL, per Rundeck reqs (#48) #56 (wcooley)
- Fix little typo in docs. #55 (eperdeme)
- Extracted grails.mail.default.from as property again #54 (grafjo)
- Fixed templates/_auth_ldap.erb #53 (grafjo)
- Like #46, fix puppet/facter #45, but w/rpm #51 (wcooley)
- spdx compatible license #50 (igalic)
- Fix minor README formatting issues #47 (wcooley)
- This should work on any OS. #42 (robertdebock)
- Add option to configure API acls #38 (ak0ska)
- Multiple auth users #37 (sandra-thieme)
- Syntax problem mixed public and private classes #35 (robertdebock)
v1.1.0 (2015-03-24)
Implemented enhancements:
- switch the rundeck-config file from properties file to groovy file #15
- Add support for passing in e-mail configuration #14
- manage the /etc/init/rundeckd.conf file #5
- Add support for configuring a non-default DB #4
Closed issues:
- Add support for cluster mode #27
- Avoid using hard coded versions #18
- Initscript not compatible with chkconfig on CentOS 6 #16
- admin_password should be a parameter #12
Merged pull requests:
- Add a jre_manage parameter #32 (beezly)
- Ad auth #29 (smithtrevor)
- #27 Add support for cluster mode #28 (danifr)
- Project refactor #26 (smithtrevor)
- Add ldap login support #25 (ak0ska)
- Make yum repo optional (default on) #24 (ak0ska)
- Add service notifications #23 (smithtrevor)
- Fix beaker tests #21 (pall-valmundsson)
- Add support for configuring a non-default DB #20 (danifr)
- Fix rundeck-config.groovy #17 (taylorleese)
v1.0.0 (2014-10-13)
Closed issues:
- Update the default rundeck version to 2.2.3-1-GA #11
- Grails server url in '/etc/rundeck/rundeck-config.properties' doesn't respect server url #10
- Indentation in admin.aclpolicy and apitoken.aclpolicy is wrong #9
- Error 'Could not find package rundeck-2.0.3-1.14.GA' under CentOS 5.6 #6
- Incorrect tag on puppetforge #1
Merged pull requests:
- Allow admin access to everything #8 (crayfishx)
- Fixed YAML indentation in aclpolicy file #7 (crayfishx)
- Fixing debian install check #3 (stack72)
- Implement installing as a package repo for redhat #2 (benh57)
v0.2.0 (2014-04-03)
v0.1.0 (2014-03-28)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.25.0 < 10.0.0)
- puppetlabs/java_ks (>= 1.3.1 < 6.0.0)
- puppet/archive (>= 1.0.0 < 8.0.0)
Copyright (c) 2014 OpenTable, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.