TheClimateCorporation / vagrant-boxes

Vagrant boxes for WSO2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vagrant box generation for WSO2 products

This section defines the procedure to build Vagrant boxes required for WSO2 Products

How to build the Vagrant boxes

Prerequisites

Please note that in order to build these Vagrant boxes, you need to install Oracle VM VirtualBox, as WSO2 Vagrant resources use Oracle VM VirtualBox, as the default provider.

Virtualization should be enabled in the BIOS before building the boxes.

Vagrant box build process

  1. Checkout this repository into your local machine using the following Git command.
git clone https://github.com/wso2/vagrant-boxes.git

The local copy of the vagrant-boxes directory will be referred to as VAGARNT-BOXES_HOME from this point onwards.

  1. Download

    i. JDK, MySQL Connector, WSO2 Update Manager

    JDK 8u144-linux-x64.tar, MySQL Connector/J and WSO2 Update Manager.

    ii. WSO2 API Manager 2.6.0

    WSO2 API Manager 2.6.0.

    iii. WSO2 Enterprise Integrator 6.4.0

    WSO2 Enterprise Integrator 6.4.0.

    iv. WSO2 Identity Server 5.7.0

    WSO2 Identity Server 5.7.0.

    v. Stream Processor 4.3.0

    WSO2 Stream Processor 4.3.0.

    vi. IoT Server 3.3.0

    WSO2 IoT Server 3.3.0.

    vii. Copy them to the following path

Note: Adding WSO2 Update Manager is optional. Read more about WSO2 Update Manager.

<VAGARNT-BOXES_HOME>/files/
  1. Edit the config.yaml as required (Comment out the unnecessary box entries).

WSO2 API Manager 2.6.0

---
boxes:
  -
    output_box: mysql
    base_box: ubuntu/trusty64
    ip: 172.28.128.3
    provisioner_script: mysql-provisioner/provisioner.sh
  -
    output_box: wso2am
    base_box: ubuntu/trusty64
    ip: 172.28.128.4
    ports:
      - 9443
      - 8280
      - 8243
    resources:
      - wso2am-2.6.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2am
      - version: 2.6.0
  -
    output_box: wso2am-analytics
    base_box: ubuntu/trusty64
    ip: 172.28.128.5
    resources:
      - wso2am-analytics-2.6.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2am-analytics
      - version: 2.6.0
  -
    output_box: wso2is-as-km
    base_box: ubuntu/trusty64
    ip: 172.28.128.6
    resources:
      - wso2is-km-5.7.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2is-as-km
      - version: 5.7.0

WSO2 Enterprise Integrator 6.4.0

---
boxes:
  -
    output_box: mysql
    base_box: ubuntu/trusty64
    ip: 172.28.128.3
    provisioner_script: mysql-provisioner/provisioner.sh
  -
    output_box: wso2ei
    base_box: ubuntu/trusty64
    ip: 172.28.128.4
    ports:
      - 9444
    resources:
      - wso2ei-6.4.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2ei
      - version: 6.4.0

WSO2 Identity Server 5.7.0

---
boxes:
  -
    output_box: mysql
    base_box: ubuntu/trusty64
    ip: 172.28.128.3
    provisioner_script: mysql-provisioner/provisioner.sh
  -
    output_box: wso2is
    base_box: ubuntu/trusty64
    ip: 172.28.128.4
    ports:
      - 9443
    resources:
      - wso2is-5.7.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2is
      - version: 5.7.0
  -
    output_box: wso2is-analytics
    base_box: ubuntu/trusty64
    ip: 172.28.128.5
    ports:
      - 9444
    resources:
      - wso2is-analytics-5.7.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2is-analytics
      - version: 5.7.0

Stream Processor 4.3.0

---
boxes:
  -
    output_box: mysql
    base_box: ubuntu/trusty64
    ip: 172.28.128.3
    provisioner_script: mysql-provisioner/provisioner.sh
  -
    output_box: wso2sp
    base_box: ubuntu/trusty64
    ip: 172.28.128.4
    resources:
      - wso2sp-4.3.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2sp
      - version: 4.3.0

IoT Server 3.3.0

---
boxes:
  -
    output_box: mysql
    base_box: ubuntu/trusty64
    ip: 172.28.128.3
    provisioner_script: mysql-provisioner/provisioner.sh
  -
    output_box: wso2iot
    base_box: ubuntu/trusty64
    ip: 172.28.128.5
    ports:
      - 9443
    resources:
      - wso2iot-3.3.0.zip
    provisioner_script: provisioner/provisioner.sh
    provisioner_script_args:
      - server: wso2iot
      - version: 3.3.0
  1. Run the Vagrantfile.
vagrant up
  1. Create the boxes.
vagrant package $box --output output/$box.box

An example for compressing the created WSO2 API Manager Vagrant machine file is as follows:

vagrant package wso2am --output output/wso2am.box
  1. Add created box files to local Vagrant box cache.

The created box files can be found in the output directory. In order to add a created box to the local Vagrant box cache use the vagrant box add command.

vagrant box add <BOX_NAME> <BOX_FILE_PATH>

An example for adding the created WSO2 API Manager Vagrant box file (by default, defined within the config.yaml file) is as follows:

vagrant box add wso2am output/wso2am.box

NOTE: The build.sh and box_definitions.rb scripts can be used to do the above steps [4-6] automatically.

About

Vagrant boxes for WSO2

License:Apache License 2.0


Languages

Language:Shell 86.8%Language:Ruby 13.2%