A single shell script to deploy wso2 products in the cloud without a puppet master.
Once you have access to cloud instances and completed preparing puppet modules + hieradata, this script will ..
- Install required bundles (puppet/unzip) in the remote instance
- Install dependent puppet modules (stdlib/java)
- Copy puppet modules and hieradata from local machine to remote server
- Export facters
- Run puppet (via puppet apply): does not use a puppet master
-
Clone puppet-vm-deployment repository
git clone https://github.com/lasinducharith/puppet-vm-deployment.git
-
Clone WSO2 puppet modules repository and consider this path in local machine as puppet_home:
git clone https://github.com/wso2/puppet-modules.git
-
Download and copy Oracle JDK 1.7 distribution to the following path:
[puppet_home]/modules/wso2base/files/jdk-7u80-linux-x64.tar.gz
-
Download and copy required product distributions, patches, dropins etc. to each puppet module
[puppet_home]/modules/wso2esb/files [puppet_home]/modules/wso2am/files [puppet_home]/modules/wso2as/files
-
Update puppet_home/hieradata with hostnames, ipaddresses and other configuration information
[puppet_home]/hieradata/dev/wso2/wso2esb/4.9.0 [puppet_home]/hieradata/dev/wso2/wso2am/1.9.0
-
Update server configuration details in server_configs.conf. You can include details of each server instance, starting from a new line
#instance_ip,product_name,product_version,product_profile,environment 192.168.100.1,wso2esb,4.9.0,manager,dev 192.168.100.2,wso2esb,4.9.0,worker,dev
-
Update puppet_home, key_file, destination_path, user in deploy_servers.sh
-
Execute deploy_servers.sh