Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module quality update #520

Merged
merged 82 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
884e828
Remove params.pp prep
Joris29 Nov 13, 2023
4ca22d3
Update params
Joris29 Nov 13, 2023
fd0b39d
Update config.pp
Joris29 Nov 14, 2023
df41995
list params in a more sensible way
Joris29 Nov 14, 2023
ff672b6
Add proper summary
Joris29 Nov 14, 2023
10fa6d9
Update install.pp
Joris29 Nov 14, 2023
8406158
Update more params and refs
Joris29 Nov 14, 2023
424d452
Add defaults
Joris29 Nov 16, 2023
c734e6c
Refactor config
Joris29 Nov 16, 2023
fa17e12
Add authconfig type
Joris29 Nov 17, 2023
15b04fc
Add beter comment for type
Joris29 Nov 17, 2023
650c46a
Update documentation
Joris29 Nov 17, 2023
e4f9056
Update file auth
Joris29 Nov 17, 2023
7f76cae
Update templates and auth_config
Joris29 Nov 17, 2023
dfaa629
Update auth conf template
Joris29 Nov 17, 2023
1cfc25b
Update auth config template
Joris29 Nov 17, 2023
b53833a
Update log4j properties
Joris29 Nov 17, 2023
918a30c
Update params
Joris29 Nov 17, 2023
8c2ebbf
Update default api policies
Joris29 Nov 20, 2023
f6d671b
Update init.pp
Joris29 Nov 20, 2023
ccecd7b
Update profile overrides
Joris29 Nov 20, 2023
08dfff7
Update profiles template
Joris29 Nov 20, 2023
23b0a03
Update config structure
Joris29 Nov 20, 2023
5d23b5c
Fix jaas auth template
Joris29 Nov 20, 2023
798dd72
Update jaas auth template
Joris29 Nov 20, 2023
1266295
Allow empty auth config
Joris29 Nov 21, 2023
7ee7b02
Update jaas auth config
Joris29 Nov 21, 2023
5b93390
Move global project config
Joris29 Nov 21, 2023
d7ab470
Update config
Joris29 Nov 21, 2023
4519355
Update defaults
Joris29 Nov 21, 2023
8a5c608
Fix db_config type
Joris29 Nov 21, 2023
c1786f9
Update jaas auth path
Joris29 Nov 21, 2023
4056fa9
Use default jaas config
Joris29 Nov 21, 2023
8aa1eec
Use properties file
Joris29 Nov 21, 2023
33e5b54
Move config which has defaults
Joris29 Nov 21, 2023
15d497a
Rename data to common and update init
Joris29 Nov 21, 2023
bee6962
Make param not mandatory
Joris29 Nov 21, 2023
1c3c491
Update keystorage config
Joris29 Nov 21, 2023
1622f7e
Update user and group
Joris29 Nov 21, 2023
3cf3b50
Update default value
Joris29 Nov 21, 2023
7f2d23e
Remove file_keystore from core config
Joris29 Nov 21, 2023
c31e2d0
Remove deprecated files
Joris29 Nov 22, 2023
599555a
Remove project config it;s managed in DB
Joris29 Nov 22, 2023
ecbf4c0
Remove obsolete files and update refs
Joris29 Nov 22, 2023
8277fa6
Remove more obsolete files and refs
Joris29 Nov 22, 2023
a0ac890
Update ssl config
Joris29 Nov 22, 2023
2f1b9b5
Use valid pass for java_ks
Joris29 Nov 22, 2023
44c95c5
Update ssl template
Joris29 Nov 22, 2023
3266040
Remove obsolete files
Joris29 Nov 22, 2023
7a59f46
Update init.pp
Joris29 Nov 22, 2023
b6147a9
Move resources and update ref
Joris29 Nov 22, 2023
0502f19
Fix ssl framework options
Joris29 Nov 23, 2023
dabc014
Add ssl port
Joris29 Nov 23, 2023
1b7425a
Use http port instead of https
Joris29 Nov 23, 2023
2192c3d
Update profile overrides
Joris29 Nov 23, 2023
7e98ad7
Update plugin code
Joris29 Nov 23, 2023
e8e9ec0
Update doc
Joris29 Nov 23, 2023
b718731
Change policy template to epp
Joris29 Nov 23, 2023
c483583
Update defines
Joris29 Nov 23, 2023
b924522
Update jaas auth template
Joris29 Nov 27, 2023
05702d4
Update config.pp
Joris29 Nov 27, 2023
c92d3f0
Update reference
Joris29 Nov 27, 2023
405c197
Update specs and add todo's
Joris29 Nov 27, 2023
e7ffceb
Update policy template and unit test
Joris29 Nov 27, 2023
1b096d7
Update framework config
Joris29 Nov 28, 2023
a0c9f5b
Update specs reference and config templates
Joris29 Nov 28, 2023
2d4ce4a
Disable gpg check for yumrepo
Joris29 Nov 28, 2023
3f9df60
Fix wrong hiera parameter for repo_config
Joris29 Nov 28, 2023
c112b91
Update unit tests
Joris29 Nov 28, 2023
001da6e
Update spec, reference and remove todo
Joris29 Nov 28, 2023
c0c0720
Update references and repo config also don't align class parameters
Joris29 Nov 29, 2023
c62513f
Update repo config
Joris29 Nov 29, 2023
224b07b
Update install spec
Joris29 Nov 29, 2023
d5aff09
Update readme and simplify install
Joris29 Nov 30, 2023
5710fbf
Add sensitive for db
Joris29 Nov 30, 2023
baf7fc6
Update mail_config password type
Joris29 Nov 30, 2023
96d42b6
Add new line between key storage config
Joris29 Dec 1, 2023
ba23060
Add api token max duration
Joris29 Dec 1, 2023
d501d49
Update auth_config type and refs
Joris29 Dec 1, 2023
8f87771
Test debian config
Joris29 Dec 4, 2023
cd6a405
Test source
Joris29 Dec 4, 2023
b0fa770
Update debian repo config
Joris29 Dec 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .fixtures.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
fixtures:
repositories:
stdlib: "https://github.com/puppetlabs/puppetlabs-stdlib.git"
inifile: "https://github.com/puppetlabs/puppetlabs-inifile.git"
archive: "https://github.com/puppet-community/puppet-archive.git"
dirtree: "https://github.com/puppetlabs/pltraining-dirtree.git"
java_ks: "https://github.com/puppetlabs/puppetlabs-java_ks.git"
apt: "https://github.com/puppetlabs/puppetlabs-apt.git"
yumrepo_core:
Expand Down
120 changes: 52 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,39 +25,13 @@ The rundeck puppet module for installing and managing [Rundeck](http://rundeck.o

| Rundeck Version | Rundeck Puppet module versions |
| ---------------- | -------------------------------|
| 2.x - 3.0.X | v5.4.0 and older |
| 3.1 - up | v6.0.0 and newer |

Since [Rundeck v3.1](https://docs.rundeck.com/docs/upgrading/upgrade-to-rundeck-3.1.html),
it is not required the installtion of `rundeck-config` package for RHEL based distributions anymore.

Rundeck Team decided to mark this package _obsolete_, making it difficult to maintain
backwards compatibility with releases older than 3.1.

Trying to install any version prior to 3.1.0 will throw the following error message:

```console
Resolving Dependencies
--> Running transaction check
---> Package rundeck.noarch 0:2.11.5-1.56.GA will be installed
--> Processing Dependency: rundeck-config for package: rundeck-2.11.5-1.56.GA.noarch
Package rundeck-config is obsoleted by rundeck, but obsoleting package does not provide for requirements
...
```

If you need to downgrade and/or install a specific version of Rundeck older than 3.1.0, you can still use this module
to do it (v5.4.0 and prior), although you would need to [manually install the packages](https://github.com/rundeck/rundeck/issues/5168) disabling yum's obsoletes processing logic when performing updates.

```console
yum reinstall --setopt=obsoletes=0 rundeck-config-3.0.24.20190719-1.201907192053 rundeck-3.0.24.20190719-1.201907192053
```

The latest version of this puppet module only supports Rundeck 3.1 and up.
| 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, its projects, jobs and plugins.
This module provides a way to manage the installation and configuration of rundeck and plugins.

## Setup

Expand Down Expand Up @@ -90,15 +64,13 @@ class { 'rundeck':
key_storage_config => [
{
'type' => 'db',
'path' => '/',
'path' => 'keys',
},
],
projects_storage_type => 'db',
database_config => {
'type' => 'mysql',
'url' => $db_url,
database_config => {
'url' => 'jdbc:mysql://myserver/rundeck',
'username' => 'rundeck',
'password' => $db_pass,
'password' => 'verysecure',
'driverClassName' => 'com.mysql.jdbc.Driver',
},
}
Expand All @@ -108,9 +80,9 @@ class { 'rundeck':

```Puppet
class { 'rundeck':
ssl_enabled => true,
ssl_keyfile => $ssl_keyfile,
ssl_certfile => $ssl_certfile,
ssl_enabled => true,
ssl_certificate => '/path/to/cert',
ssl_private_key => '/path/to/key',
}
```

Expand All @@ -123,7 +95,7 @@ class { 'rundeck':
key_storage_config => [
{
'type' => 'vault-storage',
'path' => '/',
'path' => 'keys',
'config' => {
'prefix' => 'rundeck',
'address' => 'https://vault.example.com',
Expand All @@ -147,14 +119,14 @@ class { 'rundeck':
key_storage_config => [
{
'type' => 'file',
'path' => '/keys',
'path' => 'keys',
'config' => {
'baseDir => '/path/to/dir',
},
},
{
'type' => 'db',
'path' => '/keys/database',
'path' => 'keys/database',
},
],
}
Expand All @@ -166,36 +138,48 @@ To perform LDAP authentication and file authorization following code can be used

```puppet
class { 'rundeck':
auth_types => ['ldap_shared'],
auth_config => {
'file' => {
'auth_users' => [
{
'username' => 'rooty',
'roles' => ['admin'],
},
{
'username' => 'stan',
'roles' => ['sre'],
}
],
'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' => {
'url' => 'ldap://ldap:389',
'force_binding' => true,
'bind_dn' => 'cn=ProxyUser,dc=example,dc=com',
'bind_password' => 'secret',
'user_base_dn' => 'ou=Users,dc=example,dc=com',
'user_rdn_attribute' => 'uid',
'user_id_attribute' => 'uid',
'user_object_class' => 'inetOrgPerson',
'role_base_dn' => 'ou=Groups,dc=example,dc=com',
'role_name_attribute' => 'cn',
'role_member_attribute' => 'memberUid',
'role_username_member_attribute' => 'memberUid',
'role_object_class' => 'posixGroup',
'supplemental_roles' => 'user',
'nested_groups' => false,
'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'
},
},
},
}
Expand Down
Loading