├── files ├── system │ └── .gitkeep ├── patches │ └── 4.4.0 │ │ └── .gitkeep └── configs │ └── repository │ └── components │ ├── lib │ └── .gitkeep │ └── dropins │ └── .gitkeep ├── templates ├── password-tmp.erb ├── repository │ └── conf │ │ ├── security │ │ ├── cipher-text.properties.erb │ │ ├── cipher-tool.properties.erb │ │ └── authenticators.xml.erb │ │ ├── datasources │ │ └── master-datasources.xml.erb │ │ ├── tomcat │ │ └── catalina-server.xml.erb │ │ ├── registry.xml.erb │ │ ├── identity.xml.erb │ │ ├── user-mgt.xml.erb │ │ ├── carbon.xml.erb │ │ └── axis2 │ │ └── axis2.xml.erb └── bin │ ├── ciphertool.sh.erb │ └── wso2server.sh.erb ├── .pmtignore ├── .gitignore ├── metadata.json ├── issue_template.md ├── package.xml ├── hieradata └── dev │ └── wso2 │ └── wso2as │ ├── pattern-2 │ ├── worker.yaml │ ├── manager.yaml │ └── common.yaml │ └── pattern-1 │ └── default.yaml ├── pull_request_template.md ├── README.md ├── manifests ├── init.pp └── params.pp ├── pom.xml └── LICENSE /files/system/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/patches/4.4.0/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/configs/repository/components/lib/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /files/configs/repository/components/dropins/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/password-tmp.erb: -------------------------------------------------------------------------------- 1 | <%= @key_store_password %> -------------------------------------------------------------------------------- /.pmtignore: -------------------------------------------------------------------------------- 1 | pkg/ 2 | hieradata/ 3 | .vagrant 4 | *.iml 5 | pom.xml 6 | package.xml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Eclipse Project Files 2 | .project 3 | .classpath 4 | .settings/ 5 | .metadata 6 | 7 | # IntelliJ IDEA Project Files 8 | .idea/ 9 | *.iml 10 | *.ipr 11 | *.iws 12 | *.swp 13 | 14 | #Backup files 15 | *~ 16 | 17 | # puppet-modules 18 | *.zip 19 | *.gz 20 | *.tar 21 | *.jar 22 | 23 | target/ 24 | 25 | # puppet packages 26 | pkg/ 27 | -------------------------------------------------------------------------------- /metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wso2-wso2as", 3 | "version": "5.3.0", 4 | "author": "WSO2", 5 | "license": "Apache-2.0", 6 | "summary": "WSO2 Application Server Puppet module", 7 | "source": "https://github.com/wso2/puppet-as.git", 8 | "project_page": "http://wso2.com/products/application-server/", 9 | "operatingsystem_support": [ 10 | { 11 | "operatingsystem": "Ubuntu", 12 | "operatingsystemrelease": [ "12.04", "14.04" ] 13 | } 14 | ], 15 | "tags" : ["wso2as", "5.3.0"], 16 | "dependencies": [ 17 | { "name": "wso2/wso2base", "version_requirement": "1.0.0" } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /issue_template.md: -------------------------------------------------------------------------------- 1 | **Description:** 2 | 3 | 4 | **Suggested Labels:** 5 | 6 | 7 | **Suggested Assignees:** 8 | 9 | 10 | **Affected Product Version:** 11 | 12 | **OS, DB, other environment details and versions:** 13 | 14 | **Steps to reproduce:** 15 | 16 | 17 | **Related Issues:** 18 | -------------------------------------------------------------------------------- /templates/repository/conf/security/cipher-text.properties.erb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016 WSO2, Inc. (http://wso2.com) 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # By default, This file contains the secret alias names and the plain text passwords enclosed with '[]' brackets 18 | # In Production environments, It is recommend to replace these plain text password by the encrypted values. CipherTool can be used for it. 19 | 20 | <%- @secure_vault_configs.each do |secure_vault_config_name, secure_vault_config| -%> 21 | <%= secure_vault_config['secret_alias'] %>=[<%= secure_vault_config['password'] %>] 22 | <%- end -%> 23 | -------------------------------------------------------------------------------- /templates/repository/conf/security/cipher-tool.properties.erb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016 WSO2, Inc. (http://wso2.com) 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # Important: This properties file contains all the aliases to be used in carbon components. If any property need to 18 | #be secured, you need to add alias name, file name and the xpath as follows:. 19 | # The value goes as, the //, 20 | # where - is the file (along with the file path) to be secured, 21 | # - is the xpath to the property value to be secured 22 | # - This is true if the last parameter in the xpath is parameter (starts with [ and ends with ]) 23 | # and you want its value to be replaced with "password" 24 | 25 | <%- @secure_vault_configs.each do |secure_vault_config_name, secure_vault_config| -%> 26 | <%= secure_vault_config['secret_alias'] %>=<%= secure_vault_config['secret_alias_value'] %> 27 | <%- end -%> 28 | -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 21 | 22 | package 23 | 24 | zip 25 | 26 | false 27 | 28 | 29 | 30 | ${project.basedir}/hieradata 31 | ${project.artifactId}-${puppet.hieradata}-${project.version}/hieradata 32 | 33 | **/* 34 | 35 | 36 | 37 | 38 | 39 | 40 | LICENSE 41 | ${project.artifactId}-${puppet.hieradata}-${project.version}/ 42 | true 43 | 644 44 | 45 | 46 | README.md 47 | ${project.artifactId}-${puppet.hieradata}-${project.version}/ 48 | true 49 | 644 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /hieradata/dev/wso2/wso2as/pattern-2/worker.yaml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | wso2::mgt_hostname: mgt.as.dev.wso2.org 17 | wso2::hostname: as.dev.wso2.org 18 | 19 | wso2::clustering: 20 | enabled: true 21 | domain: as.wso2.domain 22 | sub_domain: worker 23 | local_member_host: "%{::ipaddress}" 24 | local_member_port: 4000 25 | # WKA membership scheme 26 | membership_scheme: wka 27 | wka: 28 | members: 29 | - 30 | hostname: 192.168.100.21 31 | port: 4000 32 | - 33 | hostname: 192.168.100.22 34 | port: 4000 35 | # AWS membership scheme 36 | # membership_scheme: aws 37 | # aws: 38 | # access_key: access-key 39 | # secret_key: secret-key 40 | # security_group: security-group 41 | # host_header: host-header 42 | # region: region 43 | # tag_key: tag-key 44 | # tag_value: tag-value 45 | 46 | # Registry mounts 47 | wso2::registry_mounts: 48 | wso2_config_db: 49 | path: /_system/config 50 | target_path: /_system/config/as 51 | read_only: true 52 | registry_root: / 53 | enable_cache: true 54 | 55 | wso2_gov_db: 56 | path: /_system/governance 57 | target_path: /_system/governance 58 | read_only: true 59 | registry_root: / 60 | enable_cache: true 61 | 62 | # Deployment synchronization 63 | wso2::dep_sync: 64 | enabled: false 65 | auto_checkout: true 66 | auto_commit: false 67 | repository_type: svn 68 | svn: 69 | url: http://svnrepo.example.com/repos/ 70 | user: username 71 | password: password 72 | append_tenant_id: true 73 | -------------------------------------------------------------------------------- /templates/repository/conf/datasources/master-datasources.xml.erb: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 | 22 | org.wso2.carbon.ndatasource.rdbms.RDBMSDataSourceReader 23 | 24 | 25 | <%- @master_datasources.each do |datasource_name, datasource| -%> 26 | 27 | <%= datasource['name'] %> 28 | <%= datasource['description'] %> 29 | 30 | <%= datasource['jndi_config'] %> 31 | 32 | 33 | 34 | <%= datasource['url'] %> 35 | <%= datasource['username'] %> 36 | <%= datasource['password'] %> 37 | <%= datasource['driver_class_name'] %> 38 | <%= datasource['max_active'] %> 39 | <%= datasource['max_wait'] %> 40 | <%= datasource['test_on_borrow'] %> 41 | <%= datasource['validation_query'] %> 42 | <%= datasource['validation_interval'] %> 43 | 44 | 45 | 46 | <%- end -%> 47 | 48 | -------------------------------------------------------------------------------- /hieradata/dev/wso2/wso2as/pattern-2/manager.yaml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | wso2::mgt_hostname: mgt.as.dev.wso2.org 17 | 18 | wso2::clustering: 19 | enabled: true 20 | domain: as.wso2.domain 21 | local_member_host: "%{::ipaddress}" 22 | local_member_port: 4000 23 | sub_domain: mgt 24 | # WKA membership scheme 25 | membership_scheme: wka 26 | wka: 27 | members: 28 | - 29 | hostname: 192.168.100.21 30 | port: 4000 31 | - 32 | hostname: 192.168.100.22 33 | port: 4000 34 | # AWS membership scheme 35 | # membership_scheme: aws 36 | # aws: 37 | # access_key: access-key 38 | # secret_key: secret-key 39 | # security_group: security-group 40 | # host_header: host-header 41 | # region: region 42 | # tag_key: tag-key 43 | # tag_value: tag-value 44 | 45 | # Registry mounts 46 | wso2::registry_mounts: 47 | wso2_config_db: 48 | path: /_system/config 49 | target_path: /_system/config/as 50 | read_only: false 51 | registry_root: / 52 | enable_cache: true 53 | 54 | wso2_gov_db: 55 | path: /_system/governance 56 | target_path: /_system/governance 57 | read_only: false 58 | registry_root: / 59 | enable_cache: true 60 | 61 | # Deployment synchronization 62 | wso2::dep_sync: 63 | enabled: false 64 | auto_checkout: true 65 | auto_commit: true 66 | repository_type: svn 67 | svn: 68 | url: http://svnrepo.example.com/repos/ 69 | user: username 70 | password: password 71 | append_tenant_id: true 72 | 73 | # SSO Configuration 74 | wso2::sso_authentication: 75 | enabled: false 76 | login_page: /carbon/admin/login.jsp 77 | service_provider_id: wso2as 78 | sso_service_url: https://is.dev.wso2.org:9443/samlsso 79 | consumer_service_url: https://mgt.as.dev.wso2.org:9443/acs -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | > Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc. 3 | 4 | ## Goals 5 | > Describe the solutions that this feature/fix will introduce to resolve the problems described above 6 | 7 | ## Approach 8 | > Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here. 9 | 10 | ## User stories 11 | > Summary of user stories addressed by this change> 12 | 13 | ## Release note 14 | > Brief description of the new feature or bug fix as it will appear in the release notes 15 | 16 | ## Documentation 17 | > Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact 18 | 19 | ## Training 20 | > Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable 21 | 22 | ## Certification 23 | > Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why. 24 | 25 | ## Marketing 26 | > Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable 27 | 28 | ## Automation tests 29 | - Unit tests 30 | > Code coverage information 31 | - Integration tests 32 | > Details about the test cases and coverage 33 | 34 | ## Security checks 35 | - Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no 36 | - Ran FindSecurityBugs plugin and verified report? yes/no 37 | - Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no 38 | 39 | ## Samples 40 | > Provide high-level details about the samples related to this feature 41 | 42 | ## Related PRs 43 | > List any other related PRs 44 | 45 | ## Migrations (if applicable) 46 | > Describe migration steps and platforms on which migration has been tested 47 | 48 | ## Test environment 49 | > List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested 50 | 51 | ## Learning 52 | > Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem. -------------------------------------------------------------------------------- /templates/repository/conf/security/authenticators.xml.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 25 | 26 | 27 | 28 | 29 | 5 30 | 31 | 32 | 33 | 34 | 10 35 | 36 | <%= @sso_authentication['login_page'] %> 37 | <%= @sso_authentication['service_provider_id'] %> 38 | <%= @sso_authentication['sso_service_url'] %> 39 | urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 40 | <%= @sso_authentication['consumer_service_url'] %> 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 58 | 59 | 63 | 64 | 65 | 66 | 74 | 75 | -------------------------------------------------------------------------------- /templates/bin/ciphertool.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------------ 3 | # 4 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 5 | # 6 | # WSO2 Inc. licenses this file to you under the Apache License, 7 | # Version 2.0 (the "License"); you may not use this file except 8 | # in compliance with the License. 9 | # You may obtain a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | 20 | # ----------------------------------------------------------------------------- 21 | # ciphertool script for generating stub, skeleton and other required classes 22 | # 23 | # Environment Variable Prequisites 24 | # 25 | # CARBON_HOME Home of CARBON installation. If not set I will try 26 | # to figure it out. 27 | # 28 | # JAVA_HOME Must point at your Java Development Kit installation. 29 | # 30 | # NOTE: Borrowed generously from Apache Tomcat startup scripts. 31 | 32 | # if JAVA_HOME is not set we're not happy 33 | 34 | JAVA_HOME=<%= @java_home %> 35 | 36 | if [ -z "$JAVA_HOME" ]; then 37 | echo "You must set the JAVA_HOME variable before running CARBON." 38 | exit 1 39 | fi 40 | 41 | # OS specific support. $var _must_ be set to either true or false. 42 | cygwin=false; 43 | darwin=false; 44 | os400=false; 45 | mingw=false; 46 | case "`uname`" in 47 | CYGWIN*) cygwin=true;; 48 | MINGW*) mingw=true;; 49 | OS400*) os400=true;; 50 | Darwin*) darwin=true 51 | if [ -z "$JAVA_VERSION" ] ; then 52 | JAVA_VERSION="CurrentJDK" 53 | else 54 | echo "Using Java version: $JAVA_VERSION" 55 | fi 56 | if [ -z "$JAVA_HOME" ] ; then 57 | JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home 58 | fi 59 | ;; 60 | esac 61 | 62 | # resolve links - $0 may be a softlink 63 | PRG="$0" 64 | 65 | while [ -h "$PRG" ]; do 66 | ls=`ls -ld "$PRG"` 67 | link=`expr "$ls" : '.*-> \(.*\)$'` 68 | if expr "$link" : '.*/.*' > /dev/null; then 69 | PRG="$link" 70 | else 71 | PRG=`dirname "$PRG"`/"$link" 72 | fi 73 | done 74 | 75 | # Get standard environment variables 76 | PRGDIR=`dirname "$PRG"` 77 | 78 | # Only set CARBON_HOME if not already set 79 | [ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd` 80 | 81 | # For Cygwin, ensure paths are in UNIX format before anything is touched 82 | if $cygwin; then 83 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 84 | [ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"` 85 | [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 86 | fi 87 | 88 | # For OS400 89 | if $os400; then 90 | # Set job priority to standard for interactive (interactive - 6) by using 91 | # the interactive priority - 6, the helper threads that respond to requests 92 | # will be running at the same priority as interactive jobs. 93 | COMMAND='chgjob job('$JOBNAME') runpty(6)' 94 | system $COMMAND 95 | 96 | # Enable multi threading 97 | QIBM_MULTI_THREADED=Y 98 | export QIBM_MULTI_THREADED 99 | fi 100 | 101 | # For Migwn, ensure paths are in UNIX format before anything is touched 102 | if $mingw ; then 103 | [ -n "$CARBON_HOME" ] && 104 | CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" 105 | [ -n "$JAVA_HOME" ] && 106 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 107 | [ -n "$AXIS2_HOME" ] && 108 | CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" 109 | # TODO classpath? 110 | fi 111 | 112 | # update classpath 113 | CARBON_CLASSPATH="" 114 | for f in "$CARBON_HOME"/lib/org.wso2.ciphertool*.jar 115 | do 116 | CARBON_CLASSPATH=$CARBON_CLASSPATH:$f 117 | done 118 | for h in "$CARBON_HOME"/repository/components/plugins/*.jar 119 | do 120 | CARBON_CLASSPATH=$CARBON_CLASSPATH:$h 121 | done 122 | CARBON_CLASSPATH=$CARBON_CLASSPATH:$CLASSPATH 123 | 124 | # For Cygwin, switch paths to Windows format before running java 125 | if $cygwin; then 126 | JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` 127 | CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"` 128 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 129 | JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"` 130 | fi 131 | 132 | # ----- Execute The Requested Command ----------------------------------------- 133 | 134 | $JAVA_HOME/bin/java -Dcarbon.home="$CARBON_HOME" -classpath "$CARBON_CLASSPATH" org.wso2.ciphertool.CipherTool $* -------------------------------------------------------------------------------- /templates/repository/conf/tomcat/catalina-server.xml.erb: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 34 | 37 | proxyPort="<%= @ports['proxyPort']['http'] %>" 38 | <%- end -%> 39 | redirectPort="9443" 40 | bindOnInit="false" 41 | maxHttpHeaderSize="8192" 42 | acceptorThreadCount="2" 43 | maxThreads="250" 44 | minSpareThreads="50" 45 | disableUploadTimeout="false" 46 | connectionUploadTimeout="120000" 47 | maxKeepAliveRequests="200" 48 | acceptCount="200" 49 | server="WSO2 Carbon Server" 50 | compression="on" 51 | compressionMinSize="2048" 52 | noCompressionUserAgents="gozilla, traviata" 53 | compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg" 54 | URIEncoding="UTF-8"/> 55 | 56 | 61 | 64 | proxyPort="<%= @ports['proxyPort']['https'] %>" 65 | <%- end -%> 66 | bindOnInit="false" 67 | sslProtocol="TLS" 68 | sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" 69 | maxHttpHeaderSize="8192" 70 | acceptorThreadCount="2" 71 | maxThreads="250" 72 | minSpareThreads="50" 73 | disableUploadTimeout="false" 74 | enableLookups="false" 75 | connectionUploadTimeout="120000" 76 | maxKeepAliveRequests="200" 77 | acceptCount="200" 78 | server="WSO2 Carbon Server" 79 | clientAuth="false" 80 | compression="on" 81 | scheme="https" 82 | secure="true" 83 | SSLEnabled="true" 84 | compressionMinSize="2048" 85 | noCompressionUserAgents="gozilla, traviata" 86 | compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg" 87 | keystoreFile="${carbon.home}/<%= @key_stores['connector_key_store']['location'] %>" 88 | keystorePass="<%= @key_stores['connector_key_store']['password'] %>" 89 | URIEncoding="UTF-8"/> 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 100 | 101 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WSO2 Application Server Puppet Module 2 | 3 | WSO2 Application Server puppet module provides features for installing and configuring WSO2 Application Server. 4 | Configuration data can be managed either using the site manifest or [Hiera](http://docs.puppetlabs.com/hiera/1/). 5 | Hiera provides a mechanism for separating configuration data from Puppet manifests and managing them in 6 | a separate set of YAML files in a hierarchical manner. 7 | 8 | ## Supported Operating Systems 9 | 10 | - Debian 6 or higher 11 | - Ubuntu 12.04 or higher 12 | 13 | ## Supported Puppet Versions 14 | 15 | - Puppet 2.7, 3 or newer 16 | 17 | ## How to Contribute 18 | Follow the steps mentioned in the [wiki](https://github.com/wso2/puppet-base/wiki) to setup a development environment and update/create new puppet modules. 19 | 20 | ## Packs to be Copied 21 | 22 | Copy the following files to their corresponding locations. 23 | 24 | 1. WSO2 Application Server distribution (5.3.0) to `/modules/wso2as/files` 25 | 2. JDK 1.7_80 distribution to `/modules/wso2base/files` 26 | 27 | ## Running WSO2 Application Server in the `default` profile 28 | No changes to Hiera data are required to run the `default` profile. Copy the above mentioned files to their corresponding locations and apply the Puppet Modules. 29 | 30 | ## Running WSO2 Application Server with clustering in specific profiles 31 | Hiera data sets matching the distributed profiles of WSO2 Application Server (`worker`, `manager`) are shipped with clustering related configuration already enabled. Therefore, only a few changes are needed to setup a distributed deployment. For more details refer the [WSO2 AS clustering guide](https://docs.wso2.com/display/CLUSTER44x/Clustering+AS+5.3.0). 32 | 33 | 1. If the Clustering Membership Scheme is `WKA`, add the Well Known Address list. 34 | 35 | Ex: 36 | ```yaml 37 | wso2::clustering: 38 | enabled: true 39 | domain: as.wso2.domain 40 | local_member_host: "%{::ipaddress}" 41 | local_member_port: 4000 42 | sub_domain: mgt 43 | membership_scheme: wka 44 | wka: 45 | members: 46 | - 47 | hostname: 192.168.100.21 48 | port: 4000 49 | - 50 | hostname: 192.168.100.22 51 | port: 4000 52 | ``` 53 | 54 | 2. Add external databases to master datasources 55 | 56 | Ex: 57 | ```yaml 58 | wso2::master_datasources: 59 | wso2_config_db: 60 | name: WSO2_CONFIG_DB 61 | description: The datasource used for config registry 62 | driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 63 | url: jdbc:mysql://192.168.100.1:3306/WSO2CONFIG_DB?autoReconnect=true 64 | username: "%{hiera('wso2::datasources::mysql::username')}" 65 | password: "%{hiera('wso2::datasources::mysql::password')}" 66 | jndi_config: jdbc/WSO2_CONFIG_DB 67 | max_active: "%{hiera('wso2::datasources::common::max_active')}" 68 | max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 69 | test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 70 | default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 71 | validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 72 | validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 73 | 74 | ``` 75 | 76 | 3. Configure registry mounting 77 | 78 | Ex: 79 | ```yaml 80 | wso2_config_db: 81 | path: /_system/config 82 | target_path: /_system/config/as 83 | read_only: false 84 | registry_root: / 85 | enable_cache: true 86 | 87 | wso2_gov_db: 88 | path: /_system/governance 89 | target_path: /_system/governance 90 | read_only: false 91 | registry_root: / 92 | enable_cache: true 93 | ``` 94 | 95 | 4. Configure deployment synchronization 96 | 97 | Ex: 98 | ```yaml 99 | wso2::dep_sync: 100 | enabled: true 101 | auto_checkout: true 102 | auto_commit: true 103 | repository_type: svn 104 | svn: 105 | url: http://svnrepo.example.com/repos/ 106 | user: username 107 | password: password 108 | append_tenant_id: true 109 | ``` 110 | 111 | ## Running WSO2 Application Server with Secure Vault 112 | WSO2 Carbon products may contain sensitive information such as passwords in configuration files. [WSO2 Secure Vault](https://docs.wso2.com/display/Carbon444/Securing+Passwords+in+Configuration+Files) provides a solution for securing such information. 113 | 114 | Uncomment and modify the below changes in Hiera file to apply Secure Vault. 115 | 116 | 1. Enable Secure Vault 117 | 118 | ```yaml 119 | wso2::enable_secure_vault: true 120 | ``` 121 | 122 | 2. Add Secure Vault configurations as below 123 | 124 | ```yaml 125 | wso2::secure_vault_configs: 126 | : 127 | secret_alias: 128 | secret_alias_value: 129 | password: 130 | ``` 131 | 132 | Ex: 133 | ```yaml 134 | wso2::secure_vault_configs: 135 | key_store_password: 136 | secret_alias: Carbon.Security.KeyStore.Password 137 | secret_alias_value: repository/conf/carbon.xml//Server/Security/KeyStore/Password,false 138 | password: wso2carbon 139 | ``` 140 | 141 | 3. Add Cipher Tool configuration file templates to `template_list` 142 | 143 | ```yaml 144 | wso2::template_list: 145 | - repository/conf/security/cipher-text.properties 146 | - repository/conf/security/cipher-tool.properties 147 | - bin/ciphertool.sh 148 | ``` 149 | 150 | Please add the `password-tmp` template also to `template_list` if the `vm_type` is not `docker` when you are running the server in `default` platform. 151 | 152 | ## Running WSO2 Application Server on Kubernetes 153 | WSO2 AS Puppet module ships Hiera data required to deploy WSO2 Application Server on Kubernetes. For more information refer to the documentation on [deploying WSO2 products on Kubernetes using WSO2 Puppet Modules](https://docs.wso2.com/display/PM210/Deploying+WSO2+Products+on+Kubernetes+Using+WSO2+Puppet+Modules). 154 | -------------------------------------------------------------------------------- /manifests/init.pp: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------------ 2 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # ------------------------------------------------------------------------------ 16 | 17 | # Manages WSO2 Application Server deployment 18 | class wso2as ( 19 | # wso2as specific configuration data 20 | $is_datasource = $wso2as::params::is_datasource, 21 | 22 | $packages = $wso2as::params::packages, 23 | $template_list = $wso2as::params::template_list, 24 | $file_list = $wso2as::params::file_list, 25 | $patch_list = $wso2as::params::patch_list, 26 | $cert_list = $wso2as::params::cert_list, 27 | $system_file_list = $wso2as::params::system_file_list, 28 | $directory_list = $wso2as::params::directory_list, 29 | $hosts_mapping = $wso2as::params::hosts_mapping, 30 | $java_home = $wso2as::params::java_home, 31 | $java_prefs_system_root = $wso2as::params::java_prefs_system_root, 32 | $java_prefs_user_root = $wso2as::params::java_prefs_user_root, 33 | $vm_type = $wso2as::params::vm_type, 34 | $wso2_user = $wso2as::params::wso2_user, 35 | $wso2_group = $wso2as::params::wso2_group, 36 | $product_name = $wso2as::params::product_name, 37 | $product_version = $wso2as::params::product_version, 38 | $platform_version = $wso2as::params::platform_version, 39 | $carbon_home_symlink = $wso2as::params::carbon_home_symlink, 40 | $remote_file_url = $wso2as::params::remote_file_url, 41 | $maintenance_mode = $wso2as::params::maintenance_mode, 42 | $install_mode = $wso2as::params::install_mode, 43 | $install_dir = $wso2as::params::install_dir, 44 | $pack_dir = $wso2as::params::pack_dir, 45 | $pack_filename = $wso2as::params::pack_filename, 46 | $pack_extracted_dir = $wso2as::params::pack_extracted_dir, 47 | $patches_dir = $wso2as::params::patches_dir, 48 | $service_name = $wso2as::params::service_name, 49 | $service_template = $wso2as::params::service_template, 50 | $ipaddress = $wso2as::params::ipaddress, 51 | $enable_secure_vault = $wso2as::params::enable_secure_vault, 52 | $secure_vault_configs = $wso2as::params::secure_vault_configs, 53 | $key_stores = $wso2as::params::key_stores, 54 | $carbon_home = $wso2as::params::carbon_home, 55 | $pack_file_abs_path = $wso2as::params::pack_file_abs_path, 56 | 57 | # Templated configuration parameters 58 | $master_datasources = $wso2as::params::master_datasources, 59 | $registry_mounts = $wso2as::params::registry_mounts, 60 | $hostname = $wso2as::params::hostname, 61 | $mgt_hostname = $wso2as::params::mgt_hostname, 62 | $worker_node = $wso2as::params::worker_node, 63 | $usermgt_datasource = $wso2as::params::usermgt_datasource, 64 | $local_reg_datasource = $wso2as::params::local_reg_datasource, 65 | $clustering = $wso2as::params::clustering, 66 | $dep_sync = $wso2as::params::dep_sync, 67 | $ports = $wso2as::params::ports, 68 | $jvm = $wso2as::params::jvm, 69 | $fqdn = $wso2as::params::fqdn, 70 | $sso_authentication = $wso2as::params::sso_authentication, 71 | $user_management = $wso2as::params::user_management 72 | ) inherits wso2as::params { 73 | 74 | validate_string($is_datasource) 75 | 76 | validate_hash($master_datasources) 77 | if $registry_mounts != undef { 78 | validate_hash($registry_mounts) 79 | } 80 | validate_string($hostname) 81 | validate_string($mgt_hostname) 82 | validate_bool($worker_node) 83 | validate_string($usermgt_datasource) 84 | validate_string($local_reg_datasource) 85 | validate_hash($clustering) 86 | validate_hash($dep_sync) 87 | validate_hash($ports) 88 | validate_hash($jvm) 89 | validate_string($fqdn) 90 | validate_hash($sso_authentication) 91 | validate_hash($user_management) 92 | 93 | class { '::wso2base': 94 | packages => $packages, 95 | template_list => $template_list, 96 | file_list => $file_list, 97 | patch_list => $patch_list, 98 | cert_list => $cert_list, 99 | system_file_list => $system_file_list, 100 | directory_list => $directory_list, 101 | hosts_mapping => $hosts_mapping, 102 | java_home => $java_home, 103 | java_prefs_system_root => $java_prefs_system_root, 104 | java_prefs_user_root => $java_prefs_user_root, 105 | vm_type => $vm_type, 106 | wso2_user => $wso2_user, 107 | wso2_group => $wso2_group, 108 | product_name => $product_name, 109 | product_version => $product_version, 110 | platform_version => $platform_version, 111 | carbon_home_symlink => $carbon_home_symlink, 112 | remote_file_url => $remote_file_url, 113 | maintenance_mode => $maintenance_mode, 114 | install_mode => $install_mode, 115 | install_dir => $install_dir, 116 | pack_dir => $pack_dir, 117 | pack_filename => $pack_filename, 118 | pack_extracted_dir => $pack_extracted_dir, 119 | patches_dir => $patches_dir, 120 | service_name => $service_name, 121 | service_template => $service_template, 122 | ipaddress => $ipaddress, 123 | enable_secure_vault => $enable_secure_vault, 124 | secure_vault_configs => $secure_vault_configs, 125 | key_stores => $key_stores, 126 | carbon_home => $carbon_home, 127 | pack_file_abs_path => $pack_file_abs_path 128 | } 129 | 130 | contain wso2base 131 | contain wso2base::system 132 | contain wso2base::clean 133 | contain wso2base::install 134 | contain wso2base::configure 135 | contain wso2base::service 136 | 137 | Class['::wso2base'] -> Class['::wso2base::system'] 138 | -> Class['::wso2base::clean'] -> Class['::wso2base::install'] 139 | -> Class['::wso2base::configure'] ~> Class['::wso2base::service'] 140 | } -------------------------------------------------------------------------------- /templates/repository/conf/registry.xml.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 20 | 21 | 25 | 26 | wso2registry 27 | false 28 | true 29 | / 30 | 31 | 32 | 33 | 34 | <%= @master_datasources[@local_reg_datasource]['jndi_config'] %> 35 | 36 | 37 | <% if @registry_mounts and !@registry_mounts.empty? -%> 38 | <%- @registry_mounts.each do |datasource_name, registry_mount| -%> 39 | 40 | <%= @master_datasources[datasource_name]['jndi_config'] %> 41 | 42 | 43 | <%= @master_datasources[datasource_name]['name'] %> 44 | <%= @master_datasources[datasource_name]['name'] %> 45 | <%= registry_mount['read_only'] %> 46 | <%= registry_mount['registry_root'] %> 47 | <%= registry_mount['enable_cache'] %> 48 | <%= @master_datasources[datasource_name]['username'] %>@<%= @master_datasources[datasource_name]['url'] %> 49 | 50 | 51 | <%= @master_datasources[datasource_name]['name'] %> 52 | <%= registry_mount['target_path'] %> 53 | 54 | <%- end -%> 55 | <% end -%> 56 | 57 | 92 | 93 | 98 | 99 | 106 | 107 | 111 | 112 | 113 | true 114 | 35 115 | 3 116 | 117 | 50 118 | 119 | 50 120 | 121 | /_system/local/repository/components/org.wso2.carbon.registry/indexing/lastaccesstime 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | false 142 | 143 | 145 | 146 | true 147 | true 148 | true 149 | true 150 | 151 | 152 | -------------------------------------------------------------------------------- /manifests/params.pp: -------------------------------------------------------------------------------- 1 | #---------------------------------------------------------------------------- 2 | # Copyright (c) 2016 WSO2, Inc. http://www.wso2.org 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | #---------------------------------------------------------------------------- 16 | 17 | class wso2as::params { 18 | 19 | # Set facter variables 20 | $vm_type = $::vm_type 21 | $ipaddress = $::ipaddress 22 | $fqdn = $::fqdn 23 | 24 | # use_hieradata facter flags whether parameter lookup should be done via Hiera 25 | if $::use_hieradata == 'true' { 26 | 27 | $is_datasource = hiera('wso2::is_datasource') 28 | 29 | $java_prefs_system_root = hiera('java_prefs_system_root') 30 | $java_prefs_user_root = hiera('java_prefs_user_root') 31 | $java_home = hiera('java_home') 32 | 33 | # system configuration data 34 | $packages = hiera_array('packages') 35 | $template_list = hiera_array('wso2::template_list') 36 | $file_list = hiera_array('wso2::file_list', undef) 37 | $patch_list = hiera('wso2::patch_list', undef) 38 | $system_file_list = hiera_hash('wso2::system_file_list', undef) 39 | $directory_list = hiera_array('wso2::directory_list', undef) 40 | $cert_list = hiera_hash('wso2::cert_list', undef) 41 | $hosts_mapping = hiera_hash('wso2::hosts_mapping') 42 | 43 | $master_datasources = hiera_hash('wso2::master_datasources') 44 | $registry_mounts = hiera_hash('wso2::registry_mounts', undef) 45 | $carbon_home_symlink = hiera('wso2::carbon_home_symlink') 46 | $wso2_user = hiera('wso2::user') 47 | $wso2_group = hiera('wso2::group') 48 | $maintenance_mode = hiera('wso2::maintenance_mode') 49 | $install_mode = hiera('wso2::install_mode') 50 | 51 | if $install_mode == 'file_repo' { 52 | $remote_file_url = hiera('remote_file_url') 53 | } 54 | 55 | $install_dir = hiera('wso2::install_dir') 56 | $pack_dir = hiera('wso2::pack_dir') 57 | $pack_filename = hiera('wso2::pack_filename') 58 | $pack_extracted_dir = hiera('wso2::pack_extracted_dir') 59 | $hostname = hiera('wso2::hostname') 60 | $mgt_hostname = hiera('wso2::mgt_hostname') 61 | $worker_node = hiera('wso2::worker_node') 62 | $patches_dir = hiera('wso2::patches_dir') 63 | $service_name = hiera('wso2::service_name') 64 | $service_template = hiera('wso2::service_template') 65 | $usermgt_datasource = hiera('wso2::usermgt_datasource') 66 | $local_reg_datasource = hiera('wso2::local_reg_datasource') 67 | $clustering = hiera('wso2::clustering') 68 | $dep_sync = hiera('wso2::dep_sync') 69 | $ports = hiera('wso2::ports') 70 | $jvm = hiera('wso2::jvm') 71 | $sso_authentication = hiera('wso2::sso_authentication') 72 | $user_management = hiera('wso2::user_management') 73 | $enable_secure_vault = hiera('wso2::enable_secure_vault') 74 | 75 | if $enable_secure_vault { 76 | $secure_vault_configs = hiera('wso2::secure_vault_configs') 77 | } 78 | 79 | $key_stores = hiera('wso2::key_stores') 80 | 81 | } else { 82 | 83 | $is_datasource = 'wso2_carbon_db' 84 | 85 | $java_prefs_system_root = '/home/wso2user/.java' 86 | $java_prefs_user_root = '/home/wso2user/.java/.systemPrefs' 87 | $java_home = '/opt/java' 88 | 89 | # system configuration data 90 | $packages = [ 91 | 'zip', 92 | 'unzip' 93 | ] 94 | 95 | $template_list = [ 96 | 'repository/conf/identity.xml', 97 | 'repository/conf/carbon.xml', 98 | 'repository/conf/user-mgt.xml', 99 | 'repository/conf/registry.xml', 100 | 'repository/conf/datasources/master-datasources.xml', 101 | 'repository/conf/tomcat/catalina-server.xml', 102 | 'repository/conf/axis2/axis2.xml', 103 | 'repository/conf/security/authenticators.xml', 104 | 'bin/wso2server.sh' 105 | ] 106 | 107 | $hosts_mapping = { 108 | localhost => { 109 | ip => '127.0.0.1', 110 | name => 'localhost' 111 | } 112 | } 113 | 114 | $master_datasources = { 115 | wso2_carbon_db => { 116 | name => 'WSO2_CARBON_DB', 117 | description => 'The datasource used for registry and user manager', 118 | driver_class_name => 'org.h2.Driver', 119 | url => 'jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000', 120 | username => 'wso2carbon', 121 | password => 'wso2carbon', 122 | jndi_config => 'jdbc/WSO2CarbonDB', 123 | max_active => '50', 124 | max_wait => '60000', 125 | test_on_borrow => true, 126 | default_auto_commit => false, 127 | validation_query => 'SELECT 1', 128 | validation_interval => '30000' 129 | } 130 | } 131 | 132 | $carbon_home_symlink = "/mnt/${product_name}-${product_version}" 133 | $wso2_user = 'wso2user' 134 | $wso2_group = 'wso2' 135 | $maintenance_mode = 'refresh' 136 | $install_mode = 'file_bucket' 137 | $install_dir = "/mnt/${ipaddress}" 138 | $pack_dir = '/mnt/packs' 139 | $pack_filename = "${product_name}-${product_version}.zip" 140 | $pack_extracted_dir = "${product_name}-${product_version}" 141 | $hostname = 'localhost' 142 | $mgt_hostname = 'localhost' 143 | $worker_node = false 144 | $patches_dir = 'repository/components/patches' 145 | $service_name = $product_name 146 | $service_template = 'wso2base/wso2service.erb' 147 | $usermgt_datasource = 'wso2_carbon_db' 148 | $local_reg_datasource = 'wso2_carbon_db' 149 | 150 | $clustering = { 151 | enabled => false, 152 | membership_scheme => 'wka', 153 | domain => 'wso2.carbon.domain', 154 | local_member_host => '127.0.0.1', 155 | local_member_port => '4000', 156 | sub_domain => 'mgt', 157 | wka => { 158 | members => [ 159 | { 160 | hostname => '127.0.0.1', 161 | port => 4000 162 | } 163 | ] 164 | } 165 | } 166 | 167 | $dep_sync = { 168 | enabled => false 169 | } 170 | 171 | $ports = { 172 | offset => 0 173 | } 174 | 175 | $jvm = { 176 | xms => '256m', 177 | xmx => '1024m', 178 | max_perm_size => '256m' 179 | } 180 | 181 | $sso_authentication = { 182 | enabled => false 183 | } 184 | 185 | $user_management = { 186 | admin_role => 'admin', 187 | admin_username => 'admin', 188 | admin_password => 'admin' 189 | } 190 | 191 | $enable_secure_vault = false 192 | 193 | $key_stores = { 194 | key_store => { 195 | location => 'repository/resources/security/wso2carbon.jks', 196 | type => 'JKS', 197 | password => 'wso2carbon', 198 | key_alias => 'wso2carbon', 199 | key_password => 'wso2carbon' 200 | }, 201 | registry_key_store => { 202 | location => 'repository/resources/security/wso2carbon.jks', 203 | type => 'JKS', 204 | password => 'wso2carbon', 205 | key_alias => 'wso2carbon', 206 | key_password => 'wso2carbon' 207 | }, 208 | trust_store => { 209 | location => 'repository/resources/security/client-truststore.jks', 210 | type => 'JKS', 211 | password => 'wso2carbon' 212 | }, 213 | connector_key_store => { 214 | location => 'repository/resources/security/wso2carbon.jks', 215 | password => 'wso2carbon' 216 | }, 217 | user_trusted_rp_store => { 218 | location => 'repository/resources/security/userRP.jks', 219 | type => 'JKS', 220 | password => 'wso2carbon', 221 | key_password => 'wso2carbon' 222 | } 223 | } 224 | } 225 | 226 | $product_name = 'wso2as' 227 | $product_version = '5.3.0' 228 | $platform_version = '4.4.0' 229 | $carbon_home = "${install_dir}/${product_name}-${product_version}" 230 | $pack_file_abs_path = "${pack_dir}/${pack_filename}" 231 | } -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 18 | 20 | 21 | 4.0.0 22 | org.wso2.puppet 23 | wso2as-puppet-module 24 | pom 25 | 5.3.0-SNAPSHOT 26 | WSO2 Application Server Puppet Module 27 | 28 | 29 | 30 | Apache License Version 2.0 31 | http://www.apache.org/licenses/LICENSE-2.0 32 | 33 | 34 | 35 | 36 | 37 | 38 | maven-assembly-plugin 39 | true 40 | 2.5.3 41 | 42 | ${project.artifactId}-${puppet.hieradata}-${project.version} 43 | package.xml 44 | false 45 | 46 | 47 | 48 | create-archive 49 | package 50 | 51 | single 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | pedantic 63 | 64 | 65 | 66 | org.apache.rat 67 | apache-rat-plugin 68 | 0.12 69 | 70 | 71 | 72 | WSO2 73 | WSO2 License 1.0 74 | 75 | 76 | Copyright WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 77 | WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 78 | WSO2, Inc. http://www.wso2.org 79 | WSO2 Inc. (http://wso2.com) All Rights Reserved. 80 | WSO2, Inc. (http://wso2.com) 81 | 82 | 83 | 84 | 85 | 86 | 87 | WSO2 License 1.0 88 | 89 | 90 | 91 | 92 | **/target/**/* 93 | **/.settings/**/* 94 | **/.project 95 | **/.classpath 96 | **/.git/**/* 97 | **/.vagrant/**/* 98 | **/README.md 99 | **/*.iml 100 | **/*.iws 101 | **/*.ipr 102 | **/.gitignore 103 | **/.pmtignore 104 | **/.gitkeep 105 | **/*.key 106 | **/*.json 107 | **/*.json.erb 108 | 109 | **/*.config.erb 110 | **/*.sql 111 | **/.idea/**/* 112 | **/.idea 113 | **/tlds/**/* 114 | **/*.log 115 | **/.gitmodules 116 | **/password-tmp.erb 117 | 118 | false 119 | 120 | 121 | 122 | verify 123 | 124 | check 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | puppet-build 135 | 136 | 137 | 138 | org.codehaus.mojo 139 | exec-maven-plugin 140 | 1.5.0 141 | 142 | 143 | compile 144 | 145 | puppet 146 | ${puppet.module.home} 147 | 148 | module 149 | build 150 | 151 | 152 | compile 153 | 154 | exec 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | central 167 | Maven Central Repository 168 | default 169 | http://repo1.maven.org/maven2 170 | 171 | true 172 | daily 173 | ignore 174 | 175 | 176 | 177 | wso2-nexus 178 | WSO2 Internal Repository 179 | http://maven.wso2.org/nexus/content/groups/wso2-public/ 180 | 181 | true 182 | daily 183 | ignore 184 | 185 | 186 | 187 | 188 | 189 | UTF-8 190 | ${project.basedir} 191 | hieradata 192 | 193 | 194 | -------------------------------------------------------------------------------- /templates/bin/wso2server.sh.erb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Copyright (c) 2016 WSO2, Inc. http://www.wso2.org 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # ---------------------------------------------------------------------------- 18 | # Main Script for the WSO2 Carbon Server 19 | # 20 | # Environment Variable Prequisites 21 | # 22 | # CARBON_HOME Home of WSO2 Carbon installation. If not set I will try 23 | # to figure it out. 24 | # 25 | # JAVA_HOME Must point at your Java Development Kit installation. 26 | # 27 | # JAVA_OPTS (Optional) Java runtime options used when the commands 28 | # is executed. 29 | # 30 | # NOTE: Borrowed generously from Apache Tomcat startup scripts. 31 | # ----------------------------------------------------------------------------- 32 | 33 | # OS specific support. $var _must_ be set to either true or false. 34 | #ulimit -n 100000 35 | 36 | JAVA_HOME=<%= @java_home %> 37 | 38 | cygwin=false; 39 | darwin=false; 40 | os400=false; 41 | mingw=false; 42 | case "`uname`" in 43 | CYGWIN*) cygwin=true;; 44 | MINGW*) mingw=true;; 45 | OS400*) os400=true;; 46 | Darwin*) darwin=true 47 | if [ -z "$JAVA_VERSION" ] ; then 48 | JAVA_VERSION="CurrentJDK" 49 | else 50 | echo "Using Java version: $JAVA_VERSION" 51 | fi 52 | if [ -z "$JAVA_HOME" ] ; then 53 | JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home 54 | fi 55 | ;; 56 | esac 57 | 58 | # resolve links - $0 may be a softlink 59 | PRG="$0" 60 | 61 | while [ -h "$PRG" ]; do 62 | ls=`ls -ld "$PRG"` 63 | link=`expr "$ls" : '.*-> \(.*\)$'` 64 | if expr "$link" : '.*/.*' > /dev/null; then 65 | PRG="$link" 66 | else 67 | PRG=`dirname "$PRG"`/"$link" 68 | fi 69 | done 70 | 71 | # Get standard environment variables 72 | PRGDIR=`dirname "$PRG"` 73 | 74 | # Only set CARBON_HOME if not already set 75 | [ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd` 76 | 77 | # Set AXIS2_HOME. Needed for One Click JAR Download 78 | AXIS2_HOME=$CARBON_HOME 79 | 80 | # For Cygwin, ensure paths are in UNIX format before anything is touched 81 | if $cygwin; then 82 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 83 | [ -n "$CARBON_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"` 84 | [ -n "$AXIS2_HOME" ] && CARBON_HOME=`cygpath --unix "$CARBON_HOME"` 85 | fi 86 | 87 | # For OS400 88 | if $os400; then 89 | # Set job priority to standard for interactive (interactive - 6) by using 90 | # the interactive priority - 6, the helper threads that respond to requests 91 | # will be running at the same priority as interactive jobs. 92 | COMMAND='chgjob job('$JOBNAME') runpty(6)' 93 | system $COMMAND 94 | 95 | # Enable multi threading 96 | QIBM_MULTI_THREADED=Y 97 | export QIBM_MULTI_THREADED 98 | fi 99 | 100 | # For Migwn, ensure paths are in UNIX format before anything is touched 101 | if $mingw ; then 102 | [ -n "$CARBON_HOME" ] && 103 | CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" 104 | [ -n "$JAVA_HOME" ] && 105 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 106 | [ -n "$AXIS2_HOME" ] && 107 | CARBON_HOME="`(cd "$CARBON_HOME"; pwd)`" 108 | # TODO classpath? 109 | fi 110 | 111 | if [ -z "$JAVACMD" ] ; then 112 | if [ -n "$JAVA_HOME" ] ; then 113 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 114 | # IBM's JDK on AIX uses strange locations for the executables 115 | JAVACMD="$JAVA_HOME/jre/sh/java" 116 | else 117 | JAVACMD="$JAVA_HOME/bin/java" 118 | fi 119 | else 120 | JAVACMD=java 121 | fi 122 | fi 123 | 124 | if [ ! -x "$JAVACMD" ] ; then 125 | echo "Error: JAVA_HOME is not defined correctly." 126 | echo " CARBON cannot execute $JAVACMD" 127 | exit 1 128 | fi 129 | 130 | # if JAVA_HOME is not set we're not happy 131 | if [ -z "$JAVA_HOME" ]; then 132 | echo "You must set the JAVA_HOME variable before running CARBON." 133 | exit 1 134 | fi 135 | 136 | if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then 137 | PID=`cat "$CARBON_HOME"/wso2carbon.pid` 138 | fi 139 | 140 | # ----- Process the input command ---------------------------------------------- 141 | args="" 142 | for c in $* 143 | do 144 | if [ "$c" = "--debug" ] || [ "$c" = "-debug" ] || [ "$c" = "debug" ]; then 145 | CMD="--debug" 146 | continue 147 | elif [ "$CMD" = "--debug" ]; then 148 | if [ -z "$PORT" ]; then 149 | PORT=$c 150 | fi 151 | elif [ "$c" = "--stop" ] || [ "$c" = "-stop" ] || [ "$c" = "stop" ]; then 152 | CMD="stop" 153 | elif [ "$c" = "--start" ] || [ "$c" = "-start" ] || [ "$c" = "start" ]; then 154 | CMD="start" 155 | elif [ "$c" = "--version" ] || [ "$c" = "-version" ] || [ "$c" = "version" ]; then 156 | CMD="version" 157 | elif [ "$c" = "--restart" ] || [ "$c" = "-restart" ] || [ "$c" = "restart" ]; then 158 | CMD="restart" 159 | elif [ "$c" = "--test" ] || [ "$c" = "-test" ] || [ "$c" = "test" ]; then 160 | CMD="test" 161 | else 162 | args="$args $c" 163 | fi 164 | done 165 | 166 | if [ "$CMD" = "--debug" ]; then 167 | if [ "$PORT" = "" ]; then 168 | echo " Please specify the debug port after the --debug option" 169 | exit 1 170 | fi 171 | if [ -n "$JAVA_OPTS" ]; then 172 | echo "Warning !!!. User specified JAVA_OPTS will be ignored, once you give the --debug option." 173 | fi 174 | CMD="RUN" 175 | JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=$PORT" 176 | echo "Please start the remote debugging client to continue..." 177 | elif [ "$CMD" = "start" ]; then 178 | if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then 179 | if ps -p $PID > /dev/null ; then 180 | echo "Process is already running" 181 | exit 0 182 | fi 183 | fi 184 | export CARBON_HOME=$CARBON_HOME 185 | # using nohup sh to avoid erros in solaris OS.TODO 186 | nohup sh $CARBON_HOME/bin/wso2server.sh $args > /dev/null 2>&1 & 187 | exit 0 188 | elif [ "$CMD" = "stop" ]; then 189 | export CARBON_HOME=$CARBON_HOME 190 | kill -term `cat $CARBON_HOME/wso2carbon.pid` 191 | exit 0 192 | elif [ "$CMD" = "restart" ]; then 193 | export CARBON_HOME=$CARBON_HOME 194 | kill -term `cat $CARBON_HOME/wso2carbon.pid` 195 | process_status=0 196 | pid=`cat $CARBON_HOME/wso2carbon.pid` 197 | while [ "$process_status" -eq "0" ] 198 | do 199 | sleep 1; 200 | ps -p$pid 2>&1 > /dev/null 201 | process_status=$? 202 | done 203 | 204 | # using nohup sh to avoid erros in solaris OS.TODO 205 | nohup sh $CARBON_HOME/bin/wso2server.sh $args > /dev/null 2>&1 & 206 | exit 0 207 | elif [ "$CMD" = "test" ]; then 208 | JAVACMD="exec "$JAVACMD"" 209 | elif [ "$CMD" = "version" ]; then 210 | cat $CARBON_HOME/bin/version.txt 211 | cat $CARBON_HOME/bin/wso2carbon-version.txt 212 | exit 0 213 | fi 214 | 215 | # ---------- Handle the SSL Issue with proper JDK version -------------------- 216 | jdk_17=`$JAVA_HOME/bin/java -version 2>&1 | grep "1.[7|8]"` 217 | if [ "$jdk_17" = "" ]; then 218 | echo " Starting WSO2 Carbon (in unsupported JDK)" 219 | echo " [ERROR] CARBON is supported only on JDK 1.7 and 1.8" 220 | fi 221 | 222 | CARBON_XBOOTCLASSPATH="" 223 | for f in "$CARBON_HOME"/lib/xboot/*.jar 224 | do 225 | if [ "$f" != "$CARBON_HOME/lib/xboot/*.jar" ];then 226 | CARBON_XBOOTCLASSPATH="$CARBON_XBOOTCLASSPATH":$f 227 | fi 228 | done 229 | 230 | JAVA_ENDORSED_DIRS="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" 231 | 232 | CARBON_CLASSPATH="" 233 | if [ -e "$JAVA_HOME/lib/tools.jar" ]; then 234 | CARBON_CLASSPATH="$JAVA_HOME/lib/tools.jar" 235 | fi 236 | for f in "$CARBON_HOME"/bin/*.jar 237 | do 238 | if [ "$f" != "$CARBON_HOME/bin/*.jar" ];then 239 | CARBON_CLASSPATH="$CARBON_CLASSPATH":$f 240 | fi 241 | done 242 | for t in "$CARBON_HOME"/lib/commons-lang*.jar 243 | do 244 | CARBON_CLASSPATH="$CARBON_CLASSPATH":$t 245 | done 246 | # For Cygwin, switch paths to Windows format before running java 247 | if $cygwin; then 248 | JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` 249 | CARBON_HOME=`cygpath --absolute --windows "$CARBON_HOME"` 250 | AXIS2_HOME=`cygpath --absolute --windows "$CARBON_HOME"` 251 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 252 | JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"` 253 | CARBON_CLASSPATH=`cygpath --path --windows "$CARBON_CLASSPATH"` 254 | CARBON_XBOOTCLASSPATH=`cygpath --path --windows "$CARBON_XBOOTCLASSPATH"` 255 | fi 256 | 257 | # ----- Execute The Requested Command ----------------------------------------- 258 | 259 | echo JAVA_HOME environment variable is set to $JAVA_HOME 260 | echo CARBON_HOME environment variable is set to $CARBON_HOME 261 | 262 | cd "$CARBON_HOME" 263 | 264 | TMP_DIR=$CARBON_HOME/tmp 265 | if [ -d "$TMP_DIR" ]; then 266 | rm -rf "$TMP_DIR" 267 | fi 268 | 269 | START_EXIT_STATUS=121 270 | status=$START_EXIT_STATUS 271 | 272 | #To monitor a Carbon server in remote JMX mode on linux host machines, set the below system property. 273 | # -Djava.rmi.server.hostname="your.IP.goes.here" 274 | 275 | while [ "$status" = "$START_EXIT_STATUS" ] 276 | do 277 | $JAVACMD \ 278 | -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \ 279 | -Xms<%= @jvm['xms'] %> -Xmx<%= @jvm['xmx'] %> -XX:MaxPermSize=<%= @jvm['max_perm_size'] %> \ 280 | -XX:+HeapDumpOnOutOfMemoryError \ 281 | -XX:HeapDumpPath="$CARBON_HOME/repository/logs/heap-dump.hprof" \ 282 | $JAVA_OPTS \ 283 | -Dcom.sun.management.jmxremote \ 284 | -classpath "$CARBON_CLASSPATH" \ 285 | -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ 286 | -Djava.io.tmpdir="$CARBON_HOME/tmp" \ 287 | -Dcatalina.base="$CARBON_HOME/lib/tomcat" \ 288 | -Dwso2.server.standalone=true \ 289 | -Dcarbon.registry.root=/ \ 290 | -Djava.command="$JAVACMD" \ 291 | -Dcarbon.home="$CARBON_HOME" \ 292 | -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ 293 | -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \ 294 | -Djava.util.logging.config.file="$CARBON_HOME/repository/conf/etc/logging-bridge.properties" \ 295 | -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \ 296 | -Dconf.location="$CARBON_HOME/repository/conf"\ 297 | -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \ 298 | -Dcom.atomikos.icatch.hide_init_file_path=true \ 299 | -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \ 300 | -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true \ 301 | -Dcom.sun.jndi.ldap.connect.pool.authentication=simple \ 302 | -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 \ 303 | -Dorg.terracotta.quartz.skipUpdateCheck=true \ 304 | -Djava.security.egd=file:/dev/./urandom \ 305 | -Dfile.encoding=UTF8 \ 306 | -Djava.net.preferIPv4Stack=true \ 307 | -Dcom.ibm.cacheLocalHost=true \ 308 | -Dsetup \ 309 | <%- if @product_profile == 'worker' -%> 310 | -DworkerNode=true \ 311 | <%- end -%> 312 | org.wso2.carbon.bootstrap.Bootstrap $* 313 | status=$? 314 | done 315 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /hieradata/dev/wso2/wso2as/pattern-2/common.yaml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | classes: 17 | - wso2as 18 | 19 | wso2::service_name: wso2as 20 | wso2::hostname: as.dev.wso2.org 21 | wso2::mgt_hostname: as.dev.wso2.org 22 | 23 | #wso2::patch_list: 24 | # - patch0001 25 | 26 | wso2::template_list: 27 | - repository/conf/identity.xml 28 | # - repository/conf/security/cipher-text.properties 29 | # - repository/conf/security/cipher-tool.properties 30 | # - bin/ciphertool.sh 31 | # - password-tmp 32 | 33 | #wso2::ports: 34 | # proxyPort: 35 | # http: 80 36 | # https: 443 37 | 38 | wso2::file_list: 39 | - "repository/components/lib/%{hiera('wso2::datasources::mysql::connector_jar')}" 40 | 41 | # Data sources 42 | wso2::is_datasource: wso2_carbon_db 43 | 44 | wso2::usermgt_datasource: wso2_user_db 45 | 46 | wso2::master_datasources: 47 | wso2_config_db: 48 | name: WSO2_CONFIG_DB 49 | description: The datasource used for config registry 50 | driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 51 | url: jdbc:mysql://192.168.100.1:3306/WSO2_CONFIG_DB?autoReconnect=true 52 | username: "%{hiera('wso2::datasources::mysql::username')}" 53 | password: "%{hiera('wso2::datasources::mysql::password')}" 54 | jndi_config: jdbc/WSO2_CONFIG_DB 55 | max_active: "%{hiera('wso2::datasources::common::max_active')}" 56 | max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 57 | test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 58 | default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 59 | validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 60 | validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 61 | 62 | wso2_gov_db: 63 | name: WSO2_GOV_DB 64 | description: The datasource used for gov registry 65 | driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 66 | url: jdbc:mysql://192.168.100.1:3306/WSO2_REG_DB?autoReconnect=true 67 | username: "%{hiera('wso2::datasources::mysql::username')}" 68 | password: "%{hiera('wso2::datasources::mysql::password')}" 69 | jndi_config: jdbc/WSO2_GOV_DB 70 | max_active: "%{hiera('wso2::datasources::common::max_active')}" 71 | max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 72 | test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 73 | default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 74 | validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 75 | validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 76 | 77 | wso2_user_db: 78 | name: WSO2_USER_DB 79 | description: The datasource is used for user mangement and userstore 80 | driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 81 | url: jdbc:mysql://192.168.100.1:3306/WSO2_USER_DB?autoReconnect=true 82 | username: "%{hiera('wso2::datasources::mysql::username')}" 83 | password: "%{hiera('wso2::datasources::mysql::password')}" 84 | jndi_config: jdbc/WSO2_USER_DB 85 | max_active: "%{hiera('wso2::datasources::common::max_active')}" 86 | max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 87 | test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 88 | default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 89 | validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 90 | validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 91 | 92 | # Registry mounts 93 | wso2::registry_mounts: 94 | wso2_config_db: 95 | path: /_system/config 96 | target_path: /_system/config/as 97 | read_only: false 98 | registry_root: / 99 | enable_cache: true 100 | 101 | wso2_gov_db: 102 | path: /_system/governance 103 | target_path: /_system/governance 104 | read_only: false 105 | registry_root: / 106 | enable_cache: true 107 | 108 | # Secure vault configuration 109 | #wso2::enable_secure_vault: true 110 | #wso2::secure_vault_configs: 111 | # key_store_password: 112 | # secret_alias: Carbon.Security.KeyStore.Password 113 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/KeyStore/Password,false 114 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 115 | # 116 | # key_store_key_password: 117 | # secret_alias: Carbon.Security.KeyStore.KeyPassword 118 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/KeyStore/KeyPassword,false 119 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 120 | # 121 | # trust_store_password: 122 | # secret_alias: Carbon.Security.TrustStore.Password 123 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/TrustStore/Password,false 124 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 125 | # 126 | # user_manager_admin_password: 127 | # secret_alias: UserManager.AdminUser.Password 128 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/Configuration/AdminUser/Password,false 129 | # password: "%{hiera('wso2::super_admin::password')}" 130 | # 131 | # wso2_carbon_db_password: 132 | # secret_alias: Datasources.WSO2_CARBON_DB.Configuration.Password 133 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CARBON_DB']/definition[@type='RDBMS']/configuration/password,false 134 | # password: "%{hiera('wso2::datasources::common::password')}" 135 | # 136 | # connector_key_store_password: 137 | # secret_alias: Server.Service.Connector.keystorePass 138 | # secret_alias_value: repository/conf/tomcat/catalina-server.xml//Server/Service/Connector[@keystorePass],true 139 | # password: "%{hiera('wso2::key_stores::connector_key_store::password')}" 140 | # 141 | # wso2_config_db_password: 142 | # secret_alias: Datasources.WSO2_CONFIG_DB.Configuration.Password 143 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CONFIG_DB']/definition[@type='RDBMS']/configuration/password,false 144 | # password: "%{hiera('wso2::datasources::mysql::password')}" 145 | # 146 | # wso2_gov_db_password: 147 | # secret_alias: Datasources.WSO2_GOV_DB.Configuration.Password 148 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_GOV_DB']/definition[@type='RDBMS']/configuration/password,false 149 | # password: "%{hiera('wso2::datasources::mysql::password')}" 150 | # 151 | # wso2_user_db_password: 152 | # secret_alias: Datasources.WSO2_USER_DB.Configuration.Password 153 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_USER_DB']/definition[@type='RDBMS']/configuration/password,false 154 | # password: "%{hiera('wso2::datasources::mysql::password')}" 155 | # 156 | # user_trusted_RPStore_password: 157 | # secret_alias: Security.UserTrustedRPStore.Password 158 | # secret_alias_value: repository/conf/identity.xml//Server/Security/UserTrustedRPStore/Password,false 159 | # password: "%{hiera('wso2::key_stores::user_trusted_rp_store::password')}" 160 | # 161 | # user_trusted_RPStore_key_password: 162 | # secret_alias: Security.UserTrustedRPStore.KeyPassword 163 | # secret_alias_value: repository/conf/identity.xml//Server/Security/UserTrustedRPStore/KeyPassword,false 164 | # password: "%{hiera('wso2::key_stores::user_trusted_rp_store::key_password')}" 165 | # 166 | # xmpp_password: 167 | # secret_alias: MultifactorAuthentication.XMPPSettings.XMPPConfig.XMPPPassword 168 | # secret_alias_value: repository/conf/identity.xml//MultifactorAuthentication/XMPPSettings/XMPPConfig/XMPPPassword,false 169 | # password: wso2carbon 170 | # 171 | # dep_sync_svn_password: 172 | # secret_alias: Carbon.DeploymentSynchronizer.SvnPassword 173 | # secret_alias_value: repository/conf/carbon.xml//Server/DeploymentSynchronizer/SvnPassword,true 174 | # password: password 175 | # 176 | # thrift_based_entitlement_config_key_store_password: 177 | # secret_alias: EntitlementSettings.ThirftBasedEntitlementConfig.KeyStore.Password 178 | # secret_alias_value: repository/conf/identity.xml//Server/EntitlementSettings/ThirftBasedEntitlementConfig/KeyStore/Password,false 179 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 180 | 181 | ##Use below advanced secure vault configurations if the properties are used in corresponding files 182 | # user_store_manager_connection_password: 183 | # secret_alias: UserStoreManager.Property.ConnectionPassword 184 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/UserStoreManager/Property[@name='ConnectionPassword'],flase 185 | # password: admin 186 | # 187 | # user_store_manager_password: 188 | # secret_alias: UserStoreManager.Property.password 189 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/UserStoreManager/Property[@name='password'],false 190 | # password: admin 191 | # 192 | # identity_system_store_pass: 193 | # secret_alias: Identity.System.StorePass 194 | # secret_alias_value: repository/conf/identity.xml//Server/Identity/System/StorePass,false 195 | # password: wso2carbon 196 | # 197 | # axis2_https_listener_trust_store_password: 198 | # secret_alias: Axis2.Https.Listener.TrustStore.Password 199 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='truststore']/TrustStore/Password,false 200 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 201 | # 202 | # axis2_https_listener_key_store_password: 203 | # secret_alias: Axis2.Https.Listener.KeyStore.Password 204 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/Password,false 205 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 206 | # 207 | # axis2_https_listener_key_store_key_password: 208 | # secret_alias: Axis2.Https.Listener.KeyStore.KeyPassword 209 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false 210 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 211 | # 212 | # axis2_https_sender_trust_store_password: 213 | # secret_alias: Axis2.Https.Sender.TrustStore.Password 214 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='truststore']/TrustStore/Password,false 215 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 216 | # 217 | # axis2_https_sender_key_store_password: 218 | # secret_alias: Axis2.Https.Sender.KeyStore.Password 219 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/Password,false 220 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 221 | # 222 | # axis2_https_sender_key_store_key_password: 223 | # secret_alias: Axis2.Https.Sender.KeyStore.KeyPassword 224 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false 225 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 226 | # 227 | # axis2_mailto_parameter_password: 228 | # secret_alias: Axis2.Mailto.Parameter.Password 229 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='mailto']/parameter[@name='mail.smtp.password'],false 230 | # password: wso2carbon 231 | -------------------------------------------------------------------------------- /hieradata/dev/wso2/wso2as/pattern-1/default.yaml: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | --- 16 | classes: 17 | - wso2as 18 | 19 | wso2::service_name: wso2as 20 | wso2::hostname: as.dev.wso2.org 21 | wso2::mgt_hostname: as.dev.wso2.org 22 | 23 | #wso2::patch_list: 24 | # - patch0001 25 | 26 | wso2::template_list: 27 | - repository/conf/identity.xml 28 | # - repository/conf/security/cipher-text.properties 29 | # - repository/conf/security/cipher-tool.properties 30 | # - bin/ciphertool.sh 31 | # - password-tmp 32 | 33 | #wso2::ports: 34 | # proxyPort: 35 | # http: 80 36 | # https: 443 37 | 38 | #wso2::file_list: 39 | # - "repository/components/lib/%{hiera('wso2::datasources::mysql::connector_jar')}" 40 | 41 | # Data sources 42 | wso2::is_datasource: wso2_carbon_db 43 | 44 | #wso2::usermgt_datasource: wso2_user_db 45 | 46 | #wso2::master_datasources: 47 | # wso2_config_db: 48 | # name: WSO2_CONFIG_DB 49 | # description: The datasource used for config registry 50 | # driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 51 | # url: jdbc:mysql://192.168.100.1:3306/WSO2_CONFIG_DB?autoReconnect=true 52 | # username: "%{hiera('wso2::datasources::mysql::username')}" 53 | # password: "%{hiera('wso2::datasources::mysql::password')}" 54 | # jndi_config: jdbc/WSO2_CONFIG_DB 55 | # max_active: "%{hiera('wso2::datasources::common::max_active')}" 56 | # max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 57 | # test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 58 | # default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 59 | # validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 60 | # validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 61 | # 62 | # wso2_gov_db: 63 | # name: WSO2_GOV_DB 64 | # description: The datasource used for gov registry 65 | # driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 66 | # url: jdbc:mysql://192.168.100.1:3306/WSO2_REG_DB?autoReconnect=true 67 | # username: "%{hiera('wso2::datasources::mysql::username')}" 68 | # password: "%{hiera('wso2::datasources::mysql::password')}" 69 | # jndi_config: jdbc/WSO2_GOV_DB 70 | # max_active: "%{hiera('wso2::datasources::common::max_active')}" 71 | # max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 72 | # test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 73 | # default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 74 | # validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 75 | # validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 76 | # 77 | # wso2_user_db: 78 | # name: WSO2_USER_DB 79 | # description: The datasource is used for user mangement and userstore 80 | # driver_class_name: "%{hiera('wso2::datasources::mysql::driver_class_name')}" 81 | # url: jdbc:mysql://192.168.100.1:3306/WSO2_USER_DB?autoReconnect=true 82 | # username: "%{hiera('wso2::datasources::mysql::username')}" 83 | # password: "%{hiera('wso2::datasources::mysql::password')}" 84 | # jndi_config: jdbc/WSO2_USER_DB 85 | # max_active: "%{hiera('wso2::datasources::common::max_active')}" 86 | # max_wait: "%{hiera('wso2::datasources::common::max_wait')}" 87 | # test_on_borrow: "%{hiera('wso2::datasources::common::test_on_borrow')}" 88 | # default_auto_commit: "%{hiera('wso2::datasources::common::default_auto_commit')}" 89 | # validation_query: "%{hiera('wso2::datasources::mysql::validation_query')}" 90 | # validation_interval: "%{hiera('wso2::datasources::common::validation_interval')}" 91 | 92 | # Registry mounts 93 | #wso2::registry_mounts: 94 | # wso2_config_db: 95 | # path: /_system/config 96 | # target_path: /_system/config/as 97 | # read_only: false 98 | # registry_root: / 99 | # enable_cache: true 100 | 101 | # wso2_gov_db: 102 | # path: /_system/governance 103 | # target_path: /_system/governance 104 | # read_only: false 105 | # registry_root: / 106 | # enable_cache: true 107 | 108 | # Secure vault configuration 109 | #wso2::enable_secure_vault: true 110 | #wso2::secure_vault_configs: 111 | # key_store_password: 112 | # secret_alias: Carbon.Security.KeyStore.Password 113 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/KeyStore/Password,false 114 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 115 | # 116 | # key_store_key_password: 117 | # secret_alias: Carbon.Security.KeyStore.KeyPassword 118 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/KeyStore/KeyPassword,false 119 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 120 | # 121 | # trust_store_password: 122 | # secret_alias: Carbon.Security.TrustStore.Password 123 | # secret_alias_value: repository/conf/carbon.xml//Server/Security/TrustStore/Password,false 124 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 125 | # 126 | # user_manager_admin_password: 127 | # secret_alias: UserManager.AdminUser.Password 128 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/Configuration/AdminUser/Password,false 129 | # password: "%{hiera('wso2::super_admin::password')}" 130 | # 131 | # wso2_carbon_db_password: 132 | # secret_alias: Datasources.WSO2_CARBON_DB.Configuration.Password 133 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CARBON_DB']/definition[@type='RDBMS']/configuration/password,false 134 | # password: "%{hiera('wso2::datasources::common::password')}" 135 | # 136 | # connector_key_store_password: 137 | # secret_alias: Server.Service.Connector.keystorePass 138 | # secret_alias_value: repository/conf/tomcat/catalina-server.xml//Server/Service/Connector[@keystorePass],true 139 | # password: "%{hiera('wso2::key_stores::connector_key_store::password')}" 140 | # 141 | # wso2_config_db_password: 142 | # secret_alias: Datasources.WSO2_CONFIG_DB.Configuration.Password 143 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CONFIG_DB']/definition[@type='RDBMS']/configuration/password,false 144 | # password: "%{hiera('wso2::datasources::mysql::password')}" 145 | # 146 | # wso2_gov_db_password: 147 | # secret_alias: Datasources.WSO2_GOV_DB.Configuration.Password 148 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_GOV_DB']/definition[@type='RDBMS']/configuration/password,false 149 | # password: "%{hiera('wso2::datasources::mysql::password')}" 150 | # 151 | # wso2_user_db_password: 152 | # secret_alias: Datasources.WSO2_USER_DB.Configuration.Password 153 | # secret_alias_value: repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_USER_DB']/definition[@type='RDBMS']/configuration/password,false 154 | # password: "%{hiera('wso2::datasources::mysql::password')}" 155 | # 156 | # user_trusted_RPStore_password: 157 | # secret_alias: Security.UserTrustedRPStore.Password 158 | # secret_alias_value: repository/conf/identity.xml//Server/Security/UserTrustedRPStore/Password,false 159 | # password: "%{hiera('wso2::key_stores::user_trusted_rp_store::password')}" 160 | # 161 | # user_trusted_RPStore_key_password: 162 | # secret_alias: Security.UserTrustedRPStore.KeyPassword 163 | # secret_alias_value: repository/conf/identity.xml//Server/Security/UserTrustedRPStore/KeyPassword,false 164 | # password: "%{hiera('wso2::key_stores::user_trusted_rp_store::key_password')}" 165 | # 166 | # xmpp_password: 167 | # secret_alias: MultifactorAuthentication.XMPPSettings.XMPPConfig.XMPPPassword 168 | # secret_alias_value: repository/conf/identity.xml//MultifactorAuthentication/XMPPSettings/XMPPConfig/XMPPPassword,false 169 | # password: wso2carbon 170 | # 171 | # dep_sync_svn_password: 172 | # secret_alias: Carbon.DeploymentSynchronizer.SvnPassword 173 | # secret_alias_value: repository/conf/carbon.xml//Server/DeploymentSynchronizer/SvnPassword,true 174 | # password: password 175 | # 176 | # thrift_based_entitlement_config_key_store_password: 177 | # secret_alias: EntitlementSettings.ThirftBasedEntitlementConfig.KeyStore.Password 178 | # secret_alias_value: repository/conf/identity.xml//Server/EntitlementSettings/ThirftBasedEntitlementConfig/KeyStore/Password,false 179 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 180 | 181 | ##Use below advanced secure vault configurations if the properties are used in corresponding files 182 | # user_store_manager_connection_password: 183 | # secret_alias: UserStoreManager.Property.ConnectionPassword 184 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/UserStoreManager/Property[@name='ConnectionPassword'],flase 185 | # password: admin 186 | # 187 | # user_store_manager_password: 188 | # secret_alias: UserStoreManager.Property.password 189 | # secret_alias_value: repository/conf/user-mgt.xml//UserManager/Realm/UserStoreManager/Property[@name='password'],false 190 | # password: admin 191 | # 192 | # identity_system_store_pass: 193 | # secret_alias: Identity.System.StorePass 194 | # secret_alias_value: repository/conf/identity.xml//Server/Identity/System/StorePass,false 195 | # password: wso2carbon 196 | # 197 | # axis2_https_listener_trust_store_password: 198 | # secret_alias: Axis2.Https.Listener.TrustStore.Password 199 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='truststore']/TrustStore/Password,false 200 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 201 | # 202 | # axis2_https_listener_key_store_password: 203 | # secret_alias: Axis2.Https.Listener.KeyStore.Password 204 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/Password,false 205 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 206 | # 207 | # axis2_https_listener_key_store_key_password: 208 | # secret_alias: Axis2.Https.Listener.KeyStore.KeyPassword 209 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false 210 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 211 | # 212 | # axis2_https_sender_trust_store_password: 213 | # secret_alias: Axis2.Https.Sender.TrustStore.Password 214 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='truststore']/TrustStore/Password,false 215 | # password: "%{hiera('wso2::key_stores::trust_store::password')}" 216 | # 217 | # axis2_https_sender_key_store_password: 218 | # secret_alias: Axis2.Https.Sender.KeyStore.Password 219 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/Password,false 220 | # password: "%{hiera('wso2::key_stores::key_store::password')}" 221 | # 222 | # axis2_https_sender_key_store_key_password: 223 | # secret_alias: Axis2.Https.Sender.KeyStore.KeyPassword 224 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false 225 | # password: "%{hiera('wso2::key_stores::key_store::key_password')}" 226 | # 227 | # axis2_mailto_parameter_password: 228 | # secret_alias: Axis2.Mailto.Parameter.Password 229 | # secret_alias_value: repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='mailto']/parameter[@name='mail.smtp.password'],false 230 | # password: wso2carbon 231 | -------------------------------------------------------------------------------- /templates/repository/conf/identity.xml.erb: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | <%= @master_datasources[@is_datasource]['jndi_config'] %> 27 | 28 | 31 | 32 | 36 | 37 | 38 | 39 | 40 | 15 41 | 20160 42 | 20160 43 | 1140 44 | 45 | 46 | 47 | 48 | 49 | ${carbon.home}/<%= @key_stores['user_trusted_rp_store']['location'] %> 50 | 51 | <%= @key_stores['user_trusted_rp_store']['type'] %> 52 | 53 | <%= @key_stores['user_trusted_rp_store']['password'] %> 54 | 55 | <%= @key_stores['user_trusted_rp_store']['key_password'] %> 56 | 57 | 58 | 59 | ${carbon.home}/conf/keystores 60 | 61 | 62 | 63 | SelfAndManaged 64 | CertValidate 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | https://localhost:9443/openidserver 75 | https://localhost:9443/openid/ 76 | 77 | false 78 | 79 | 7200 80 | 81 | false 82 | 83 | false 84 | 85 | 36000 86 | 87 | false 88 | org.wso2.carbon.identity.provider.openid.claims.DefaultClaimsRetriever 89 | 90 | 91 | 92 | -1 93 | -1 94 | -1 95 | -1 96 | https://localhost:9443/oauth/request-token 97 | https://localhost:9443/oauth/access-token 98 | https://localhost:9443/oauth/authorize-url 99 | 100 | 300 101 | 102 | 3600 103 | 104 | 3600 105 | 106 | 84600 107 | 108 | 300 109 | 110 | true 111 | 112 | true 113 | 114 | org.wso2.carbon.identity.oauth.tokenprocessor.PlainTextPersistenceProcessor 115 | 116 | 117 | 118 | false 119 | 120 | 121 | 122 | 123 | 124 | token 125 | org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler 126 | 127 | 128 | code 129 | org.wso2.carbon.identity.oauth2.authz.handlers.CodeResponseTypeHandler 130 | 131 | 132 | 133 | 134 | 135 | authorization_code 136 | org.wso2.carbon.identity.oauth2.token.handlers.grant.AuthorizationCodeGrantHandler 137 | 138 | 139 | password 140 | org.wso2.carbon.identity.oauth2.token.handlers.grant.PasswordGrantHandler 141 | 142 | 143 | refresh_token 144 | org.wso2.carbon.identity.oauth2.token.handlers.grant.RefreshGrantHandler 145 | 146 | 147 | client_credentials 148 | org.wso2.carbon.identity.oauth2.token.handlers.grant.ClientCredentialsGrantHandler 149 | 150 | 151 | urn:ietf:params:oauth:grant-type:saml2-bearer 152 | org.wso2.carbon.identity.oauth2.token.handlers.grant.saml.SAML2BearerGrantHandler 153 | 154 | 155 | iwa:ntlm 156 | org.wso2.carbon.identity.oauth2.token.handlers.grant.iwa.ntlm.NTLMAuthenticationGrantHandler 157 | 158 | 159 | 160 | 161 | 162 | 165 | 166 | 167 | false 168 | 169 | 170 | 174 | false 175 | 179 | 180 | 181 | 182 | false 183 | org.wso2.carbon.identity.oauth2.authcontext.JWTTokenGenerator 184 | org.wso2.carbon.identity.oauth2.authcontext.DefaultClaimsRetriever 185 | http://wso2.org/claims 186 | SHA256withRSA 187 | 15 188 | 189 | 190 | 191 | 192 | 193 | org.wso2.carbon.identity.openidconnect.DefaultIDTokenBuilder 194 | https://localhost:9443/oauth2endpoints/token 195 | http://wso2.org/claims/givenname 196 | org.wso2.carbon.identity.openidconnect.SAMLAssertionClaimsCallback 197 | 3600 198 | http://wso2.org/claims 199 | org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInfoUserStoreClaimRetriever 200 | org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInforRequestDefaultValidator 201 | org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInfoISAccessTokenValidator 202 | org.wso2.carbon.identity.oauth.endpoint.user.impl.UserInfoJSONResponseBuilder 203 | false 204 | 205 | 206 | 207 | 208 | 209 | 210 | gtalk 211 | talk.google.com 212 | 5222 213 | gmail.com 214 | multifactor1@gmail.com 215 | wso2carbon 216 | 217 | 218 | 219 | 220 | 221 | 157680000 222 | 157680000 223 | localhost 224 | https://localhost:9443/samlsso 225 | 5 226 | 60000 227 | false 228 | 36000 229 | 230 | org.wso2.carbon.identity.sso.saml.attributes.UserAttributeStatementBuilder 231 | http://wso2.org/claims 232 | false 233 | org.wso2.carbon.identity.sso.saml.builders.claims.DefaultClaimsRetriever 234 | org.wso2.carbon.identity.sso.saml.builders.assertion.DefaultSAMLAssertionBuilder 235 | org.wso2.carbon.identity.sso.saml.builders.encryption.DefaultSSOEncrypter 236 | org.wso2.carbon.identity.sso.saml.builders.signature.DefaultSSOSigner 237 | org.wso2.carbon.identity.sso.saml.validators.SAML2HTTPRedirectDeflateSignatureValidator 238 | 239 | 240 | 241 | 5 242 | false 243 | 244 | 245 | 246 | 247 | 249 | 250 | true 251 | 36000 252 | 253 | 254 | true 255 | 256 | 257 | false 258 | ${Ports.ThriftEntitlementReceivePort} 259 | 10000 260 | 261 | ${carbon.home}/<%= @key_stores['key_store']['location'] %> 262 | <%= @key_stores['key_store']['password'] %> 263 | 264 | 265 | localhost 266 | 267 | 268 | 269 | 270 | 271 | 5 272 | 273 | 274 | 10 275 | local://services 276 | 279 | 280 | 281 | 285 | 286 | -------------------------------------------------------------------------------- /templates/repository/conf/user-mgt.xml.erb: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 | 21 | 22 | true 23 | <%= @user_management['admin_role'] %> 24 | 25 | <%= @user_management['admin_username'] %> 26 | <%= @user_management['admin_password'] %> 27 | 28 | everyone 29 | <%= @master_datasources[@usermgt_datasource]['jndi_config'] %> 30 | 31 | 33 | 76 | 77 | 79 | 80 | org.wso2.carbon.user.core.tenant.JDBCTenantManager 81 | false 82 | 100 83 | false 84 | default 85 | SHA-256 86 | true 87 | true 88 | true 89 | false 90 | ^[\S]{5,30}$ 91 | ^[\S]{5,30}$ 92 | ^[^~!#$;%^*+={}\\|\\\\<>,\'\"]{3,30}$ 93 | ^[\S]{3,30}$ 94 | ^[^~!#$;%^*+={}\\|\\\\<>,\'\"]{3,30}$ 95 | ^[\S]{3,30}$ 96 | true 97 | 100 98 | 100 99 | false 100 | false 101 | true 102 | , 103 | 104 | 105 | 108 | 142 | 143 | 152 | 198 | 199 | 202 | 245 | 246 | 252 | 300 | 301 | 309 | 325 | 326 | 328 | /permission 329 | true 330 | false 331 | 332 | 333 | 334 | 335 | -------------------------------------------------------------------------------- /templates/repository/conf/carbon.xml.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 20 | 21 | 27 | 28 | 29 | 32 | Application Server 33 | 34 | 37 | AS 38 | 39 | 42 | 5.3.0 43 | 44 | 50 | <% if @hostname %> 51 | <%= @hostname %> 52 | <%- else -%> 53 | 54 | <% end %> 55 | 56 | 59 | <%- if @mgt_hostname -%> 60 | <%= @mgt_hostname %> 61 | <%- else -%> 62 | 63 | <%- end -%> 64 | 65 | 70 | local:/${carbon.context}/services/ 71 | 74 | 78 | 79 | 80 | 86 | 87 | ApplicationServer 88 | 89 | 90 | 91 | 92 | 93 | 96 | org.wso2.carbon 97 | 98 | 101 | / 102 | 103 | 112 | 116 | 117 | 118 | 119 | 120 | 124 | 15 125 | 126 | 127 | 128 | 129 | 132 | 133 | 134 | 138 | <%- if @ports['offset'] -%> 139 | <%= @ports['offset'] %> 140 | <%- else -%> 141 | 0 142 | <%- end -%> 143 | 144 | 145 | 146 | 9999 147 | 148 | 11111 149 | 150 | 151 | 152 | 153 | 154 | 10389 155 | 156 | 8000 157 | 158 | 159 | 162 | 163 | 164 | 10500 165 | 166 | 167 | 168 | 171 | 172 | 175 | org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory 176 | 179 | 180 | 183 | 193 | 196 | 197 | 198 | 199 | java 200 | 201 | 204 | 205 | 206 | 210 | 211 | 212 | 213 | 218 | false 219 | 220 | 223 | false 224 | 225 | 226 | 600 227 | 228 | 233 | 234 | false 235 | 236 | 237 | 238 | 260 | 261 | 262 | 263 | 30 264 | 265 | 268 | 269 | 270 | 271 | 274 | 275 | 276 | 15 277 | 278 | 279 | 282 | 283 | 294 | ${carbon.home}/repository/deployment/server/ 295 | 296 | 300 | 15 301 | 302 | 313 | ${carbon.home}/repository/conf/axis2/axis2.xml 314 | 315 | 320 | 30000 321 | 322 | 326 | ${carbon.home}/repository/deployment/client/ 327 | 329 | ${carbon.home}/repository/conf/axis2/axis2_client.xml 330 | 331 | true 332 | 333 | 336 | 337 | 338 | 339 | 340 | 344 | 345 | 346 | admin 347 | Default Administrator Role 348 | 349 | 350 | user 351 | Default User Role 352 | 353 | 354 | 355 | 358 | 359 | 360 | 363 | 364 | 368 | 369 | 370 | ${carbon.home}/<%= @key_stores['key_store']['location'] %> 371 | 372 | <%= @key_stores['key_store']['type'] %> 373 | 374 | <%= @key_stores['key_store']['password'] %> 375 | 376 | <%= @key_stores['key_store']['key_alias'] %> 377 | 378 | <%= @key_stores['key_store']['key_password'] %> 379 | 380 | 381 | 385 | 386 | 387 | ${carbon.home}/<%= @key_stores['trust_store']['location'] %> 388 | 389 | <%= @key_stores['trust_store']['type'] %> 390 | 391 | <%= @key_stores['trust_store']['password'] %> 392 | 393 | 394 | 399 | 400 | 405 | 406 | 410 | 411 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 433 | UserManager 434 | 435 | 436 | false 437 | 438 | 442 | 443 | 444 | 469 | 470 | 471 | 472 | 475 | ${carbon.home}/tmp/work 476 | 477 | 480 | 481 | 482 | 487 | true 488 | 489 | 492 | 10 493 | 494 | 500 | 30 501 | 502 | 503 | 509 | 510 | 513 | 100 514 | 515 | 516 | 517 | keystore 518 | certificate 519 | * 520 | 521 | org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor 522 | 523 | 524 | 525 | 526 | jarZip 527 | 528 | org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor 529 | 530 | 531 | 532 | dbs 533 | 534 | org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor 535 | 536 | 537 | 538 | tools 539 | 540 | org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor 541 | 542 | 543 | 544 | toolsAny 545 | 546 | org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor 547 | 548 | 549 | 550 | 562 | 563 | 564 | info 565 | org.wso2.carbon.core.transports.util.InfoProcessor 566 | 567 | 568 | wsdl 569 | org.wso2.carbon.core.transports.util.Wsdl11Processor 570 | 571 | 572 | wsdl2 573 | org.wso2.carbon.core.transports.util.Wsdl20Processor 574 | 575 | 576 | xsd 577 | org.wso2.carbon.core.transports.util.XsdProcessor 578 | 579 | 580 | 581 | 585 | 586 | <%= @dep_sync['enabled'] %> 587 | <%= @dep_sync['auto_commit'] %> 588 | <%= @dep_sync['auto_checkout'] %> 589 | <%= @dep_sync['repository_type'] %> 590 | <%- if @dep_sync['repository_type'] == "svn" -%> 591 | <%= @dep_sync['svn']['url'] %> 592 | <%= @dep_sync['svn']['user'] %> 593 | <%= @dep_sync['svn']['password'] %> 594 | <%= @dep_sync['svn']['append_tenant_id'] %> 595 | <%- end -%> 596 | 597 | 598 | 602 | 607 | 608 | 609 | 615 | 616 | 620 | 621 | 622 | 623 | 624 | 628 | ${require.carbon.servlet} 629 | 630 | 647 | 662 | 663 | true 664 | 665 | 666 | 667 | 668 | 671 | 672 | default repository 673 | http://dist.wso2.org/p2/carbon/releases/4.4.1-SNAPSHOT 674 | 675 | 676 | 679 | 680 | 681 | 683 | 684 | true 685 | 686 | 688 | 689 | 695 | 696 | true 697 | 698 | 699 | -------------------------------------------------------------------------------- /templates/repository/conf/axis2/axis2.xml.erb: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | ${hotdeployment} 28 | ${hotupdate} 29 | optional 30 | true 31 | work/mtom 32 | 4000 33 | 34 | ${childfirstCL} 35 | 36 | 45 | true 46 | 47 | 49 | true 50 | 51 | 56 | 57 | false 58 | 59 | inmemory 60 | 61 | 63 | 64 | 65 | 66 | 67 | services 68 | 69 | 70 | axis2services 71 | 72 | 73 | axis2modules 74 | 75 | 76 | @product.name@-@product.version@ 77 | 78 | 79 | @product.name@-@product.version@ 80 | 81 | 82 | 83 | 84 | 85 | 86 | false 87 | 88 | 89 | 90 | 91 | 92 | false 93 | 94 | 95 | true 96 | 97 | 98 | 99 | ./repository/deployment/server/synapse-configs 100 | 101 | 102 | 103 | . 104 | 105 | 106 | . 107 | 108 | 109 | WSO2 Carbon Server 110 | 111 | 112 | 113 | 114 | 115 | 116 | ${jaxwsparam} 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 143 | 145 | 147 | 148 | 149 | 150 | 152 | 154 | 156 | 158 | 160 | 161 | 162 | 164 | 166 | 168 | 170 | 172 | 173 | 175 | 177 | 179 | 181 | 183 | 185 | 187 | 188 | 189 | 190 | 192 | 194 | 196 | 197 | 198 | 200 | 202 | 204 | 206 | 208 | 209 | 211 | 213 | 215 | 217 | 219 | 221 | 223 | 225 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 235 | 239 | 9763 240 | 241 | 245 | 246 | 247 | 248 | 250 | 274 | 275 | 276 | 278 | 282 | 9443 283 | 284 | 288 | 289 | 290 | 291 | 295 | 299 | 300 | 303 | 306 | 307 | 308 | 312 | 331 | 332 | 333 | 355 | 356 | 357 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 387 | 389 | 391 | 393 | 395 | HTTP/1.1 396 | chunked 397 | 398 | true 399 | 400 | 402 | HTTP/1.1 403 | chunked 404 | 405 | true 406 | 407 | 408 | 410 | 421 | 422 | 423 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 460 | 461 | 462 | 463 | 464 | 466 | 467 | 468 | 470 | 471 | 472 | 474 | 476 | 477 | 478 | 480 | 481 | 482 | 483 | 484 | 486 | 487 | 488 | 489 | 490 | 492 | 494 | 496 | 497 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 539 | 540 | 541 | 542 | 543 | 545 | 546 | 547 | 549 | 550 | 551 | 552 | 553 | 554 | 556 | 557 | 558 | 559 | 560 | 562 | 563 | 564 | 565 | 566 | 568 | 570 | 572 | 573 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 598 | 599 | 600 | 601 | 602 | 603 | 605 | 606 | 611 | true 612 | 613 | 626 | <%= @clustering['membership_scheme'] %> 627 | <%= scope.function_template(["wso2base/clustering/#{@clustering['membership_scheme']}.erb"]) %> 628 | 629 | 630 | 631 | 632 | 636 | <%= @clustering['domain'] %> 637 | 638 | 639 | 640 | 641 | 642 | 45564 643 | 644 | 100 645 | 646 | 60 647 | 648 | 652 | 655 | 656 | 657 | <%= @clustering['local_member_host'] %> 658 | 659 | 664 | 667 | 668 | 672 | 673 | <%= @clustering['local_member_port'] %> 674 | 675 | 680 | 683 | 684 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 698 | 705 | 706 | 710 | <%- if @clustering['membership_scheme'] == 'wka' -%> 711 | 712 | <%- @clustering['wka']['members'].each do |member| -%> 713 | 714 | <%= member['hostname'] %> 715 | <%= member['port'] %> 716 | 717 | <%- end -%> 718 | 719 | <%- end -%> 720 | 721 | 726 | 727 | 732 | 733 | 734 | 735 | --------------------------------------------------------------------------------