rundeck
Version information
This version is compatible with:
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppet-rundeck', '1.2.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-rundeck
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with rundeck
- 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
##Overview
The rundeck puppet module for installing and managing rundeck (http://rundeck.org/)
##Module Description
This module provides a way to manage the installation and configuration of rundeck, it's projects, jobs and plugins.
##Setup
###Classes and Defined Types
####Class: rundeck
The rundeck module primary class, guides the basic installation and management of rundeck on your system
Parameters within rundeck
:
#####package_ensure
Ensure the state of the rundeck package, either present, absent or a specific version
#####jre_name
The name of the jre to be installed if using a custom jre.
#####jre_ensure
Ensure the version of jre to be installed, either present, absent or a specific version
#####auth_type
The method used to authenticate to Rundeck. Default is file.
#####properties_dir
The path to the configuration directory where the properties file are stored.
#####log_dir
The path to the directory to store logs.
#####user
The user that Rundeck is installed as.
#####group
The group that the Rundeck user is a member of.
#####rdeck_base
The installation directory for Rundeck.
#####ssl_enabled
Enable ssl for the Rundeck web application.
#####projects_organization
The organization value that will be set by default for any projects.
#####projects_description
The description that will be set by default for any projects.
#####rd_loglevel
The log4j logging level to be set for the Rundeck application.
#####rss_enabled
Boolean value if set to true enables RSS feeds that are public (non-authenticated)
#####clustermode_enabled
Boolean value if set to true enables cluster mode
#####grails_server_url
The url used in sending email notifications.
#####dataSource_config
A hash of the data Source configuraton.
#####keystore
Full path to the java keystore to be used by Rundeck.
#####keystore_password
The password for the given keystore.
#####key_password
The default key password.
#####truststore
The full path to the java truststore to be used by Rundeck.
#####truststore_password
The password for the given truststore.
#####service_name
The name of the rundeck service.
#####mail_config
A hash of the notification email configuraton.
#####security_config
A hash of the rundeck security configuration.
#####manage_yum_repo
Whether to manage the YUM repository containing the Rundeck rpm. Defaults to true.
####Define: rundeck::plugin
A definition for installing rundeck plugins
Parameters within rundeck::plugin
:
#####source
The http source or local path from which to get the jar plugin.
#####plugin_dir
The rundeck directory where the plugins are installed to.
#####user
The user that rundeck is installed as.
#####group
The group permission that rundeck is installed as.
####Define: rundeck::project
A definition for managing rundeck projects
Parameters within rundeck::project
:
#####file_copier_provider
The type of proivder that will be used for copying files to each of the nodes
#####node_executor_provider
The type of provider that will be used to gather node resources
#####resource_sources
A hash of rundeck::config::resource_source that will be used to specifiy the node
resources for this project
#####ssh_keypath
The path the the ssh key that will be used by the ssh/scp providers
#####projects_dir
The directory where rundeck is configured to store project information
#####user
The user that rundeck is installed as.
#####group
The group permission that rundeck is installed as.
####Define: rundeck::resource_source
A definition for managing the resource sources for a given project
Parameters within rundeck::resource_source
:
#####project_name
The name of the project for which this resource in intended to be a part.
#####number
The sequential number of the resource within the project.
#####source_type
The source type where resources will come from: file, directory, url or script.
#####file
When a file source_type is specified this is the path to that file.
#####include_server_node
Boolean value to decide whether or not to include the server node in your list of avaliable nodes.
#####resource_format
The format of the resource that will procesed, either resourcexml or resourceyaml.
#####url
When the url source_type is specified this is the path to that url.
#####url_timeout
An integer value in seconds that rundeck will wait for resources from the url before timing out.
#####url_cache
Boolean value. Keep a local cache of the resources pulled from the url.
#####directory
When the directory source_type is specified this is the path to that directory.
#####script_file
When the script source_type is specified this is the path that that script.
#####script_args
A string of the full arguments to pass the the specified script.
#####script_args_quoted
Boolean value. Quote the arguments of the script.
#####script_interpreter
The interpreter to use in executing the script. Defaults to: '/bin/bash'
#####projects_dir
The directory where rundeck is configured to store project information.
#####user
The user that rundeck is installed as.
#####group
The group permission that rundeck is installed as.
##Reference
###Classes ####Public Classes
rundeck
: Guides the basic installation of rundeck
####Private Classes
rundeck::install
: Manages the installation of the rundeck packagesrundeck::service
: Manages the rundeck servicerundeck::config
: Manages all the global configuration of the rundeck applicationrundeck::config::global::framework
: Manage the configuration of shell tools and core rundeck servicesrundeck::config::global::project
: Managed the rundeck project configurationrundeck::config::global::rundeck_config
: Manages the rundeck webapp configuration filerundeck::config::global::ssl
: Manages the ssl configuration for the rundeck webapp
###Defines ####Public Defines
rundeck::config::plugin
: Manages the installation of rundeck pluginsrundeck::config::project
: Manages the configuration of rundeck projectsrundeck::config::resource_source
: Manages resource sources for each project
##Limitations
This module is tested on the following platforms:
- CentOS 5
- CentOS 6
- Ubuntu 12.04
- Ubuntu 14.04
It is tested with the OSS version of Puppet only.
##Development
###Contributing
Please read CONTRIBUTING.md for full details on contributing to this project.
##2015-05-22 - Relese 1.2.0 ###Summary
Support for API ACLS and some bug fixes for RedHat/CentOS
####Features
- Add support for multiple auth users
- Add option to configure API acls
####Bugfixes
- Fix bug with grails.mail.default.from
- Fix rundeck_version fact on RHEL-based systems
- Require java 7 for RHEL based systems
- Fix user and group for project directory
- Ensure service is restarted after upgrade on RHEL based systems
- Adding missing storage rule to acl policy defaults
##2015-03-24 - Release 1.1.0 ###Summary
This release contained many new features and refactorings. Exciting stuff.
####Features
- Allow optional management of the JRE
- Add initial support for support for clustermode
- Allow an alternative service script
- Add LDAP + ActiveDirectory login support
- Make managing the yum repository optional
- Adding support for alternative database configurations
- Refactoring rundeck-config from
ini_setting
s to groovy format - Add support for passing e-email configuration to grails
####Bugfixes
- Fix deep merging of framework_config
- Make sure that changes in the ssl settings trigger a restart in the rundeckd service
- Fixing lots of beaker tests
##2014-10-13 - Release 1.0.0 ###Summary
This release is focused on cleaning up the module and closing down a number of annoying bugs that have been around a while. Some refactoring has also taken place to make it a little eaiser and cleaner to add features in further reeleases.
####Features
- adding support for the redhat rundeck repo
- updating default rundeck version to 2.2.3
- improving documentation and tests
####Bugfixes
- fixing bug in layout of admin.aclpolicy file
- fixing default config settings for servername and grails_server_url which causes bug in page loading
- fixing some idempotency issues
- refactoring the configuration of the module
##2014-04-04 - Release 0.2.0 ###Summary
This release is focused on managing more configuration and resources in the rundeck application
####Features
- adding definitions for plugins, projects, and resource sources
- adding support for managing the majority of the Rundeck configuration
- more tests
##2014-03-28 - Release 0.1.0 ###Summary
Initial release.
Dependencies
- puppetlabs/stdlib (>= 3.0.0 <5.0.0)
- puppetlabs/inifile (>= 1.0.3 <2.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.