{"id":15227846,"url":"https://github.com/kpn-puppet/puppet-kpn-wildfly","last_synced_at":"2025-05-15T08:32:12.825Z","repository":{"id":57664515,"uuid":"117648183","full_name":"kpn-puppet/puppet-kpn-wildfly","owner":"kpn-puppet","description":"Puppet WildFly module with multi-site support","archived":false,"fork":false,"pushed_at":"2019-03-26T05:01:06.000Z","size":96,"stargazers_count":0,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T00:28:16.632Z","etag":null,"topics":["puppet","wildfly"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kpn-puppet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-16T07:24:19.000Z","updated_at":"2019-03-26T05:00:47.000Z","dependencies_parsed_at":"2022-09-10T16:11:05.000Z","dependency_job_id":null,"html_url":"https://github.com/kpn-puppet/puppet-kpn-wildfly","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpn-puppet%2Fpuppet-kpn-wildfly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpn-puppet%2Fpuppet-kpn-wildfly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpn-puppet%2Fpuppet-kpn-wildfly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpn-puppet%2Fpuppet-kpn-wildfly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpn-puppet","download_url":"https://codeload.github.com/kpn-puppet/puppet-kpn-wildfly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254304641,"owners_count":22048446,"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":["puppet","wildfly"],"created_at":"2024-09-28T23:06:24.932Z","updated_at":"2025-05-15T08:32:07.795Z","avatar_url":"https://github.com/kpn-puppet.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wildfly\n\n#### Table of Contents\n\n1. [Description](#description)\n1. [Setup - The basics of getting started with wildfly](#setup)\n    * [What wildfly affects](#what-wildfly-affects)\n    * [Setup requirements](#setup-requirements)\n    * [Beginning with wildfly](#beginning-with-wildfly)\n1. [Usage - Configuration options and additional functionality](#usage)\n1. [Reference - An under-the-hood peek at what the module is doing and how](#reference)\n1. [Limitations - OS compatibility, etc.](#limitations)\n1. [Development - Guide for contributing to the module](#development)\n\n## Description\n\nThis Wildfly module lets you use Puppet to install, deploy and configure multiple WildFly's  (standalone only).\n\nThe module is based/uses code from the following modules:\n\n* biemond-wildfly: https://github.com/biemond/biemond-wildfly\n* puppetlabs-tomcat: https://github.com/puppetlabs/puppetlabs-tomcat\n\nThe best scenario would have been incorporating this code in the biemond-wildfly module, it is an issue: https://github.com/biemond/biemond-wildfly/issues/149\n\nBut we decided to give it our own twist and release this module, it is in NO WAY a real alternative to the biemond-wildfly module, it lacks a lot of features we would like to add, by releasing it to the public we hope to get movement on this module and improve the quality.  Be free to test this release and make (major) PR's available for us.\n\n## Setup\n\n### What wildfly affects\n\nIt will install a WildFly version by your choice in a given directory.\n\n### Setup Requirements\n\nThis module requires the following modules:\n- [puppet-puppetlabs-stdlib](https://github.com/puppetlabs/puppetlabs-stdlib)\n- [puppet-voxpupuli-archive](https://github.com/voxpupuli/puppet-archive)\n\n### Beginning with wildfly\n\nThis module is multi-based, it is not possible to just include the module and be done with it.\nIt requires at least these lines of code to get a working installation.\n\n## Usage\n\nThe most basic usage would be the following:\n\n```\nwildfly::install { 'wildfly8':\n  catalina_home =\u003e '/opt/wildfly8',\n  source        =\u003e 'http://download.jboss.org/wildfly/8.2.1.Final/wildfly-8.2.1.Final.tar.gz',\n}\nwildfly::instance { 'wildfly8':\n  catalina_home  =\u003e '/opt/wildfly8',\n  manage_service =\u003e true,\n  port_properties =\u003e { \"management-http\" =\u003e 19990, \"management-https\" =\u003e 19993, \"ajp\" =\u003e 18009, \"http\" =\u003e 18080, \"https\" =\u003e 18443, },\n}\n```\n\nThis will install WildFly version 8 in /opt/wildfly8 with custom portnumbers. Note that the 'catalina_home' variable is the leading variable which determines which WildFly instance is configured.\n\n### Parameters wildfly class\n\n#### catalina_home\nType: Path\\\nDefault: `/opt/wildfly`\\\nValues: Any valid path\\\nDescription: Specifies the path to install WildFly\n\n#### user\nType: string\\\nDefault: `wildfly`\\\nValues: a string value\\\nDescription: Specifies the user under which the WildFly instance should run,  when `manage_user` is set to true the user will be created\n\n#### group\nType: string\\\nDefault: `wildfly`\\\nValues: a string value\\\nDescription: Specifies the group under which the WildFly instance should run, when `manage_group` is set to true the group will be created\n\n#### manage_user\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the user defined in `user`\n\n#### manage_group\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the group defined in `group`\n\n#### manage_base\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the directory defined in `catalina_home`\n\n#### mgmt_user\nType: hash\\\nDefault: { 'username' =\u003e 'puppet', 'password' =\u003e fqdn_rand_string(30) }\\\nValues: hash with username and password as a string\\\nDescription: Specifies the managment user and password\n\n#### port_properties\nType: hash\\\nDefault: { 'management-http' =\u003e 9990, 'management-https' =\u003e 9993, 'ajp' =\u003e 8009, 'http' =\u003e 8080, 'https' =\u003e 8443 }\\\nValues: hash with numeric values for port nummers\\\nDescription: Specifies portnumbers for management-http, management-https, ajp, http and https\n\n#### ip_properties\nType: hash\\\nDefault: { 'management' =\u003e '127.0.0.1',  'public'     =\u003e '127.0.0.1' }\\\nValues: hash with ipaddresses for management and public as a ip4 ip address\\\nDescription: Specifies the managment and public ipaddress as a ip4 ip address\n\n### Parameters wildfly::install define\n\n#### catalina_home\nType: Path\\\nDefault: `title of this define`\\\nValues: Any valid path\\\nDescription: Specifies the path to install WildFly must be unique for multiple instances\n\n#### install_from_source\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies to install WildFly from a tar.gz file when true or from a package when false\n\n#### source\nType: string\\\nDefault: undef\\\nValues: an url to the instalation file for a WildFly or JDBC-driver\\\nDescription: Specifies the url for an installation of WildFly (which should be a tar.gz file) or a JDBCD-driver (which should be a jar-file)\n\n#### checksum\nType: string\\\nDefault: undef\\\nValues: a sha256 value\\\nDescription: Specifies the checksum_type checksum of the source specified\n\n#### checksum_type\nType: list\\\nDefault: sha256\\\nValues: sha1, sha256, sha512\\\nDescription: Specifies the checksumtype to use for calculating the checksum\n\n#### source_strip_first_dir\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies that the first directory from the archive is stripped, most archives require this\n\n#### proxy_type\nType: string\\\nDefault: undef\\\nValues: undef, http, https, ftp\\\nDescription: Specifies the proxy server type used by proxy_server. Normally this defaults to the protocol specified in the proxy_server URI\n\n#### proxy_server\nType: string\\\nDefault: undef\\\nValues: proxy-server\\\nDescription: Specifies a proxy server to use when downloading WildFly binaries\n\n#### allow_insecure\nType: boolean\\\nDefault: false\\\nValues: true/false\\\nDescription: Specifies if a https-url needs to secure (certificate check ok)\n\n#### user\nType: string\\\nDefault: `$::wildfly::user`\\\nValues: a string value\\\nDescription: Specifies the user under which the WildFly instance should run, when `manage_user` is set to true the user will be created\n\n#### group\nType: string\\\nDefault: `$::wildfly::group`\\\nValues: a string value\\\nDescription: Specifies the group under which the WildFly instance should run, when `manage_group` is set to true the group will be created\n\n#### manage_user\nType: boolean\\\nDefault: `$::wildfly::manage_user`\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the user defined in `user`\n\n#### manage_group\nType: boolean\\\nDefault: `$::wildfly::manage_group`\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the group defined in `group`\n\n#### manage_base\nType: boolean\\\nDefault: `$::wildfly::manage_base`\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the directory defined in `catalina_home`\n\n\n#### package_ensure\nType: string\\\nDefault: undef\\\nValues: present/absent\\\nDescription: Specifies if the package should be present or absent, only valid when `install_from_source` is set to false\n\n#### package_name\nType: string\\\nDefault: undef\\\nValues: package name\\\nDescription: Specifies the name of the package to install, only valid when `install_from_source` is set to false\n\n#### package_options\nType: string\\\nDefault: undef\\\nValues: options\\\nDescription: Specifies options for when installing a package\n\n### Parameters wildfly::instance define\n\n#### catalina_home\nType: Path\\\nDefault: `$::wildfly::catalina_home`\\\nValues: Any valid path\\\nDescription: Specifies the path to install WildFly\n\n#### user\nType: string\\\nDefault: `$::wildfly::user`\\\nValues: a string value\\\nDescription: Specifies the user under which the WildFly instance should run, when `manage_user` is set to true the user will be created\n\n#### group\nType: string\\\nDefault: `$::wildfly::group`\\\nValues: a string value\\\nDescription: Specifies the group under which the WildFly instance should run, when `manage_group` is set to true the group will be created\n\n#### manage_user\nType: boolean\\\nDefault: `$::wildfly::manage_user`\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the user defined in `user`\n\n#### manage_group\nType: boolean\\\nDefault: `$::wildfly::group`\\\nValues: true/false\\\nDescription: Specifies whenever to create or not the group defined in `group`\n\n#### manage_service\nType: boolean\\\nDefault: true\\\nValues: true/false\\\nDescription: Specifies whenever to enable the WildFly instance\n\n#### port_properties\nType: hash\\\nDefault: `$::wildfly::port_properties`\\\nValues: hash with numeric values for port nummers\\\nDescription: Specifies portnumbers for management-http, management-https, ajp, http and https\n\n#### ip_properties\nType: hash\\\nDefault: `$::wildfly::ip_properties`\\\nValues: hash with ipaddresses for management and public as a ip4 ip address\\\nDescription: Specifies the managment and public ipaddress as a ip4 ip address\n\n#### java_home\nType: path\\\nDefault: undef\\\nValues: none\\\nDescription: Specifies the path for the Java installation to use\n\n#### java_opts\nType: string\\\nDefault: undef\\\nValues: none\\\nDescription: Specifies the options for Java\n\n#### java_xms\nType: string\\\nDefault: `256m`\\\nValues: any\\\nDescription: Specifies the xms setting for Java\n\n#### java_xmx\nType: string\\\nDefault: `512m`\\\nValues: any\\\nDescription: Specifies the xmx setting for Java\n\n#### remote_debug\nType: boolean\\\nDefault: false\\\nValues: any\\\nDescription: Specifies whenever to enable a debug port\n\n#### remote_debug_port\nType: integer\\\nDefault: 8787\\\nValues: port-number\\\nDescription: Specifies the portnumber for the debug port\n\n### Parameters wildfly::resource define\n\n#### mgmt_user\nType: hash\\\nDefault: `$::wildfly::mgmt_user`\\\nValues: hash with username and password as a string\nDescription: Specifies the managment user and password\n\n#### port_properties\nType: hash\\\nDefault: `$::wildfly::port_properties`\\\nValues: hash with numeric values for port nummers\\\nDescription: Specifies portnumbers for management-http, management-https, ajp, http and https\n\n#### ip_properties\nType: hash\\\nDefault: `$::wildfly::ip_properties`\\\nValues: hash with ipaddresses for management and public as a ip4 ip address\\\nDescription: Specifies the managment and public ipaddress as a ip4 ip address\n\n#### ensure\nType: Enum[String]\\\nDefault: `present`\\\nValues: |present/absent\\\nDescription: Specifies wheter the resource should be present or absent\n\n#### recursive\nType: boolean\\\nDefault: false\\\nValues: true / false\\\nDescription: Specifies whether it should manage the resource recursively or not\n\n#### undefine_attributes\nType: boolean\\\nDefault: false\\\nValues: true / false\\\nDescription: Specifies Whether it should undefine attributes with undef value\n\n#### content\nType: hash\\\nDefault: `empty`\\\nValues: hash with content/state\\\nDescription: Specifies Sets the content/state of the target resource\n\n#### operation_headers\nType: hash\\\nDefault: `empty`\\\nValues: hash with operation headers\\\nDescription: Specifies Sets [operation-headers](https://docs.jboss.org/author/display/WFLY9/Admin+Guide#AdminGuide-OperationHeaders)\n    (e.g. `{ 'allow-resource-service-restart' =\u003e true, 'rollback-on-runtime-failure' =\u003e false, 'blocking-timeout' =\u003e 600}`)\n    to be used when creating/destroying this resource.\n\n#### profile\nType: string\\\nDefault: undef\\\nValues: name of the target profile\\\nDescription: Specifies Sets the target profile to prefix resource name. Requires domain mode\n\n### Parameters wildfly::service define\n\n#### service_ensure\nType: Enum[String]\\\nDefault: `running`\\\nValues: running /  stopped\\\nDescription: Specifies wheter the service should be running or stopped\n\n#### service_enable\nType: boolean\\\nDefault: true\\\nValues: true / false\\\nDescription: Specifies whether the service should be started after a reboot\n\n#### service_name\nType: string\\\nDefault: $title\\\nValues: valid string with the name of the service\\\nDescription: Specifies the name of the service\n\n### Parameters wildfly::cli define\n\n#### command\nType: string\\\nDefault: $title\\\nValues: valid command to execute\\\nDescription: Specifies The actual command to execute\n\n#### unless\nType: string\\\nDefault: cmd to check status\\\nValues: valid command to execute\\\nDescription: If this parameter is set, then this `cli` will only run if this command condition is met\n\n#### onlyif\nType: string\\\nDefault: cmd to check status\\\nValues: valid command to execute\\\nDescription: If this parameter is set, then this `cli` will run unless this command condition is met\n\n#### mgmt_user\nType: hash\\\nDefault: { 'username' =\u003e 'puppet', 'password' =\u003e fqdn_rand_string(30) }\\\nValues: hash with username and password as a string\\\nDescription: Specifies the managment user and password\n\n#### port_properties\nType: hash\\\nDefault: { 'management-http' =\u003e 9990, 'management-https' =\u003e 9993, 'ajp' =\u003e 8009, 'http' =\u003e 8080, 'https' =\u003e 8443 }\\\nValues: hash with numeric values for port nummers\\\nDescription: Specifies portnumbers for management-http, management-https, ajp, http and https\n\n#### ip_properties\nType: hash\\\nDefault: { 'management' =\u003e '127.0.0.1',  'public'     =\u003e '127.0.0.1' }\\\nValues: hash with ipaddresses for management and public as a ip4 ip address\\\nDescription: Specifies the managment and public ipaddress as a ip4 ip address\n\n### Parameters wildfly::datasource::driver define\n#### dependencies\nType: array\\\nDefault: undef\\\nValues: array os strings\\\nDescription: Specifies the dependencies for a module in WildFly\n\n#### driver_name\nType: string\\\nDefault: undef\\\nValues: name of the driver\\\nDescription: Specifies the name of the driver\n\n#### driver_module_name\nType: string\\\nDefault: undef\\\nValues: name of the module driver\\\nDescription: Specifies the name of the module driver\n\n## Example\n\n### Add datasource\n\n````\nwildfly::config::module { 'org.postgresql:/opt/wildfly10':\n  source       =\u003e 'https://jdbc.postgresql.org/download/postgresql-42.1.4.jar',\n  checksum     =\u003e '4523ed32e9245e762e1df9f0942a147bece06561770a9195db093d9802297735',\n  dependencies =\u003e ['javax.api',\n                   'javax.transaction.api'],\n}\nwildfly::datasources::driver { 'Driver postgresql:/opt/wildfly10':\n  driver_name                     =\u003e 'postgresql',\n  driver_module_name              =\u003e 'org.postgresql',\n  driver_xa_datasource_class_name =\u003e 'org.postgresql.xa.PGXADataSource',\n  port_properties                 =\u003e { 'management-http' =\u003e 39990, 'management-https' =\u003e 39993, 'ajp' =\u003e 38009, 'http' =\u003e 38080, 'https' =\u003e 38443, },\n}\nwildfly::datasources::datasource { 'DemoDS:/opt/wildfly10':\n  config          =\u003e {\n    'driver-name'    =\u003e 'postgresql',\n    'connection-url' =\u003e 'jdbc:postgresql://localhost/postgres',\n    'jndi-name'      =\u003e 'java:jboss/datasources/DemoDS',\n  },\n  port_properties =\u003e { 'management-http' =\u003e 39990, 'management-https' =\u003e 39993, 'ajp' =\u003e 38009, 'http' =\u003e 38080, 'https' =\u003e 38443, },\n}\n````\n\n## Reference\n\nHere, include a complete list of your module's classes, types, providers,\nfacts, along with the parameters for each. Users refer to this section (thus\nthe name \"Reference\") to find specific details; most users don't read it per\nse.\n\n## Limitations\n\nThis is where you list OS compatibility, version compatibility, etc. If there\nare Known Issues, you might want to include them under their own heading here.\n\n## Development\n\nSince your module is awesome, other users will want to play with it. Let them\nknow what the ground rules for contributing are.\n\n## Release Notes/Contributors/Etc. **Optional**\n\nIf you aren't using changelog, put your release notes here (though you should\nconsider using changelog). You can also add any additional sections you feel\nare necessary or important to include here. Please use the `## ` header.\n\n\n## Reference\n\nHere, include a complete list of your module's classes, types, providers,\nfacts, along with the parameters for each. Users refer to this section (thus\nthe name \"Reference\") to find specific details; most users don't read it per\nse.\n\n## Limitations\n\nThis module only works on RedHat 6 and 7, this is due to the limitations of WildFly (V11 and higher)\nand it's support for Java 1.7\n\n## Development\nYou can contribute by submitting issues, providing feedback and joining the discussions.\n\nGo to: `https://github.com/kpn-puppet/puppet-kpn-wildfly`\n\nIf you want to fix bugs, add new features etc:\n- Fork it\n- Create a feature branch ( git checkout -b my-new-feature )\n- Apply your changes and update rspec tests\n- Run rspec tests ( bundle exec rake spec )\n- Commit your changes ( git commit -am 'Added some feature' )\n- Push to the branch ( git push origin my-new-feature )\n- Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpn-puppet%2Fpuppet-kpn-wildfly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkpn-puppet%2Fpuppet-kpn-wildfly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpn-puppet%2Fpuppet-kpn-wildfly/lists"}