{"id":22336049,"url":"https://github.com/voxpupuli/puppet-rundeck","last_synced_at":"2025-04-04T07:07:46.847Z","repository":{"id":15473873,"uuid":"18207323","full_name":"voxpupuli/puppet-rundeck","owner":"voxpupuli","description":"Module for managing the installatation and configuration of the rundeck orchestration tool","archived":false,"fork":false,"pushed_at":"2025-02-05T18:06:35.000Z","size":1172,"stargazers_count":39,"open_issues_count":12,"forks_count":129,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-03-03T17:15:45.085Z","etag":null,"topics":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","ubuntu-puppet-module"],"latest_commit_sha":null,"homepage":"https://forge.puppet.com/puppet/rundeck","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voxpupuli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"vox-pupuli","github":"voxpupuli"}},"created_at":"2014-03-28T09:35:23.000Z","updated_at":"2025-02-05T18:06:37.000Z","dependencies_parsed_at":"2023-10-02T17:28:32.410Z","dependency_job_id":"aba7fafa-63db-4448-b2ed-f0fa491cdc24","html_url":"https://github.com/voxpupuli/puppet-rundeck","commit_stats":{"total_commits":661,"total_committers":105,"mean_commits":6.295238095238095,"dds":0.7912254160363086,"last_synced_commit":"964c667af5045912df4fd19ce17ead5b81d9e14c"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-rundeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-rundeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-rundeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-rundeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxpupuli","download_url":"https://codeload.github.com/voxpupuli/puppet-rundeck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247006789,"owners_count":20868070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","puppet","redhat-puppet-module","ubuntu-puppet-module"],"created_at":"2024-12-04T06:00:50.803Z","updated_at":"2025-04-04T07:07:46.827Z","avatar_url":"https://github.com/voxpupuli.png","language":"Ruby","funding_links":["https://opencollective.com/vox-pupuli","https://github.com/sponsors/voxpupuli"],"categories":[],"sub_categories":[],"readme":"# Rundeck module for Puppet\n\n[![Build Status](https://github.com/voxpupuli/puppet-rundeck/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-rundeck/actions?query=workflow%3ACI)\n[![Release](https://github.com/voxpupuli/puppet-rundeck/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-rundeck/actions/workflows/release.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/rundeck.svg)](https://forge.puppetlabs.com/puppet/rundeck)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/rundeck.svg)](https://forge.puppetlabs.com/puppet/rundeck)\n[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/rundeck.svg)](https://forge.puppetlabs.com/puppet/rundeck)\n[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/rundeck.svg)](https://forge.puppetlabs.com/puppet/rundeck)\n[![puppetmodule.info docs](http://www.puppetmodule.info/images/badge.png)](http://www.puppetmodule.info/m/puppet-rundeck)\n[![MIT License](https://img.shields.io/github/license/voxpupuli/puppet-rundeck.svg)](LICENSE)\n[![Donated by OpenTable](https://img.shields.io/badge/donated%20by-opentable-fb7047.svg)](#transfer-notice)\n\n## Table of Contents\n\n1. [Overview](#overview)\n2. [Module Description - What the module does and why it is useful](#module-description)\n3. [Setup - Requirements and beginning with rundeck](#setup)\n4. [Usage - Configuration options and additional functionality](#usage)\n5. [Reference - Module references](#reference)\n6. [Limitations - OS compatibility, etc.](#limitations)\n7. [Development - Guide for contributing to the module](#development)\n\n## Overview\n\nThe rundeck puppet module for installing and managing [Rundeck](http://rundeck.org/)\n\n### Supported Versions of Rundeck\n\n| Rundeck Version  | Rundeck Puppet module versions |\n| ---------------- | -------------------------------|\n| 2.x   - 3.0.X    | v5.4.0 and older               |\n| 3.1.x - 3.3.x    | v8.0.1 until v6.0.0            |\n| 3.4.x - up       | v9.0.0 and newer               |\n\n## Module Description\n\nThis module provides a way to manage the installation and configuration of rundeck and plugins.\n\n## Setup\n\n### Requirements\n\nYou need a compatible version of Java installed.\nYou can use [puppetlabs/java](https://github.com/puppetlabs/puppetlabs-java) module if there isn't already a suitable version.\n\nOn systems that use apt, there's a soft dependency on the [puppetlabs/apt](https://github.com/puppetlabs/puppetlabs-apt) module.\n\n### Beginning with rundeck\n\nTo install a server and cli with the default options:\n\n```puppet\ninclude rundeck\n```\n\n### Beginning with rundeck cli\n\nTo install rundeck cli with the default options:\n\n```puppet\ninclude rundeck::cli\n```\n\n## Usage\n\n### Configure rundeck to connect to a MySQL database\n\nTo use an external MySQL database, the `database_config` hash must be set to\noverride the default values which result in a local file based storage.  To\nenable `key` and `project` storage in the database, you must also set the two\nassociated parameters.\n\n```puppet\nclass { 'rundeck':\n  key_storage_config =\u003e [\n    {\n      'type' =\u003e 'db',\n      'path' =\u003e 'keys',\n    },\n  ],\n  database_config    =\u003e {\n    'url'             =\u003e 'jdbc:mysql://myserver/rundeck',\n    'username'        =\u003e 'rundeck',\n    'password'        =\u003e 'verysecure',\n    'driverClassName' =\u003e 'com.mysql.jdbc.Driver',\n  },\n}\n```\n\n### Configure SSL for rundeck\n\n```Puppet\nclass { 'rundeck':\n  ssl_enabled       =\u003e true,\n  ssl_certificate   =\u003e '/path/to/cert',\n  ssl_private_key   =\u003e '/path/to/key',\n}\n```\n\n### Configure HashiCorp vault as keystorage\n\nAn additional [Rundeck Vault plugin](https://github.com/rundeck-plugins/vault-storage/) is required.\n\n```Puppet\nclass { 'rundeck':\n  key_storage_config =\u003e [\n    {\n      'type'   =\u003e 'vault-storage',\n      'path'   =\u003e 'keys',\n      'config' =\u003e {\n        'prefix'           =\u003e 'rundeck',\n        'address'          =\u003e 'https://vault.example.com',\n        'storageBehaviour' =\u003e 'vault',\n        'secretBackend'    =\u003e 'rundeck',\n        'engineVersion'    =\u003e '2',\n        'authBackend'      =\u003e 'approle',\n        'approleAuthMount' =\u003e 'approle',\n        'approleId'        =\u003e 'xxx-xxx-xxx-xxx-xxx',\n        'approleSecretId'  =\u003e 'xxx-xxx-xxx-xxx-xxx',\n      },\n    },\n  ],\n}\n```\n\n### Configure multiple keystorage types\n\n```Puppet\nclass { 'rundeck':\n  key_storage_config =\u003e [\n    {\n      'type'   =\u003e 'file',\n      'path'   =\u003e 'keys',\n      'config' =\u003e {\n        'baseDir =\u003e '/path/to/dir',\n      },\n    },\n    {\n      'type' =\u003e 'db',\n      'path' =\u003e 'keys/database',\n    },\n  ],\n}\n```\n\n### Configure shared authentication credentials\n\nTo perform LDAP authentication and file authorization following code can be used.\n\n```puppet\nclass { 'rundeck':\n  auth_config =\u003e {\n    'file' =\u003e {\n      'auth_flag'    =\u003e 'sufficient',\n      'jaas_config'  =\u003e {\n        'file' =\u003e '/etc/rundeck/realm.properties',\n      },\n      'realm_config' =\u003e {\n        'admin_user'     =\u003e 'admin',\n        'admin_password' =\u003e 'admin',\n        'auth_users'     =\u003e [\n          {\n            'username' =\u003e 'testuser',\n            'password' =\u003e 'password',\n            'roles' =\u003e %w[user deploy]\n          },\n          {\n            'username' =\u003e 'anotheruser',\n            'password' =\u003e 'anotherpassword',\n            'roles' =\u003e ['user']\n          },\n        ],\n      },\n    },\n    'ldap' =\u003e {\n      'jaas_config' =\u003e {\n        'debug' =\u003e 'true',\n        'providerUrl' =\u003e 'ldap://server:389',\n        'bindDn' =\u003e 'cn=Manager,dc=example,dc=com',\n        'bindPassword' =\u003e 'secret',\n        'authenticationMethod' =\u003e 'simple',\n        'forceBindingLogin' =\u003e 'false',\n        'userBaseDn' =\u003e 'ou=users,ou=accounts,ou=corp,dc=xyz,dc=com',\n        'userRdnAttribute' =\u003e 'sAMAccountName',\n        'userIdAttribute' =\u003e 'sAMAccountName',\n        'userPasswordAttribute' =\u003e 'unicodePwd',\n        'userObjectClass' =\u003e 'user',\n        'roleBaseDn' =\u003e 'ou=role based,ou=security,ou=groups,ou=test,dc=xyz,dc=com',\n        'roleNameAttribute' =\u003e 'cn',\n        'roleMemberAttribute' =\u003e 'member',\n        'roleObjectClass' =\u003e 'group',\n        'nestedGroups' =\u003e 'true'\n      },\n    },\n  },\n}\n```\n\n### Configure rundeck class with projects\n\nTo add and manage rundeck projects through cli with the rundeck class following code can be used.\n\n```puppet\nclass { 'rundeck':\n  'cli_token'    =\u003e 'very_secure',\n  'cli_projects' =\u003e {\n    'MyProject'   =\u003e {\n      'update_method' =\u003e 'set',\n      'config'        =\u003e {\n        'project.description'        =\u003e 'This is My rundeck project',\n        'project.disable.executions' =\u003e 'false',\n      },\n    },\n    'TestProject' =\u003e {\n      'config' =\u003e {\n        'project.description'      =\u003e 'This is a rundeck test project',\n        'project.disable.schedule' =\u003e 'false',\n      },\n    },\n  },\n}\n```\n\n### Configure rundeck cli class with projects separately\n\nTo add and manage rundeck projects through cli with the rundeck class following code can be used.\n\n```puppet\nclass { 'rundeck':\n  'manage_cli' =\u003e false,\n}\n\nclass { 'rundeck::cli':\n  'manage_repo' =\u003e false,\n  'token'       =\u003e 'very_secure',\n  'projects'    =\u003e {\n    'MyProject'   =\u003e {\n      'update_method' =\u003e 'set',\n      'config'        =\u003e {\n        'project.description'        =\u003e 'This is My rundeck project',\n        'project.disable.executions' =\u003e 'false',\n      },\n    },\n    'TestProject' =\u003e {\n      'config' =\u003e {\n        'project.description'      =\u003e 'This is a rundeck test project',\n        'project.disable.schedule' =\u003e 'false',\n      },\n    },\n  },\n}\n```\n\n## Reference\n\nSee [REFERENCE.md](https://github.com/voxpupuli/puppet-rundeck/blob/master/REFERENCE.md)\n\n## Limitations\n\nFor a list of supported operating systems please check the [metadata.json](https://github.com/voxpupuli/puppet-rundeck/blob/master/metadata.json)\n\n## Development\n\n### Contributing\n\nThis module is maintained by [Vox Pupuli](https://voxpupuli.org/). Vox Pupuli\nwelcomes new contributions to this module, especially those that include\ndocumentation and rspec tests. We are happy to provide guidance if necessary.\n\nPlease see [CONTRIBUTING](.github/CONTRIBUTING.md) for more details.\n\n## Transfer Notice\n\nThis plugin was originally authored by [OpenTable Inc](https://www.opentable.com/).\nThe maintainer preferred that Vox Pupuli take ownership of the module for future improvement and maintenance.\nExisting pull requests and issues were transferred over, please fork and continue to contribute here instead of Camptocamp.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-rundeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxpupuli%2Fpuppet-rundeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-rundeck/lists"}