Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
Note

This step is not mandatory for all the applications. To confirm if the product you are running on top of WSO2 Private PaaS requires a database table, refer the README file of the specific product or cartridge folder.

Create the a databases (or more databases depending on the requirement) using the following commands, where <PRODUCT_HOME> is the path to any of the product instances you installed, and specify the username and password.

Info
titleAbout using MySQL in different operating systems

For users of Microsoft Windows, when creating the database in MySQL, it is important to specify the character set as latin1. Failure to do this may result in an error (error code: 1709) when starting your cluster. This error occurs in certain versions of MySQL (5.6.x) and is related to the UTF-8 encoding. MySQL originally used the latin1 character set by default, which stored characters in a 2-byte sequence. However, in recent versions, MySQL defaults to UTF-8 to be friendlier to international users. Hence, you must use latin1 as the character set as indicated below in the database creation commands to avoid this problem. Note that this may result in issues with non-latin characters (like Hebrew, Japanese, etc.). The following is how your database creation command should look.

mysql> create database <DATABASE_NAME> character set latin1;

For users of other operating systems, the standard database creation commands will suffice. For these operating systems, the following is how your database creation command should look.

mysql> create database <DATABASE_NAME>;

Example: You will need to create 3 databases for API Manager as shown below

Code Block
mysql> create database apimgtdb;
mysql> use apimgtdb;
mysql> source <APIM_HOME>/dbscripts/apimgt/mysql.sql;
mysql> grant all on apimgtdb.* TO username@localhost identified by "password";
 
 
mysql> create database userdb;
mysql> use userdb;
mysql> source <APIM_HOME>/dbscripts/mysql.sql;
mysql> grant all on userdb.* TO username@localhost identified by "password";
 
 
mysql> create database regdb;
mysql> use regdb;
mysql> source <APIM_HOME>/dbscripts/mysql.sql;
mysql> grant all on regdb.* TO username@localhost identified by "password";
Note

Ensure that MySQL is configured so that all nodes can connect to it.

 

Step 5:

...

 Configuring the artifact JSON files

Panel
  • Configure the following parameters in the cartridge JSON file:
    • Ensure that the imageId under the iaasProvider is the same as the Docker image you created, If you are running Private PaaS on Kubernetes.
    • Update the datasource configurations, i.e DB URLs, username and password, under properties.

      Info

      Update datasource configurations for all cartridge JSON files that run on all IaaS, except the Mock IaaS.

      Expand
      titleDatasource configurations
      Code Block
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/stratos_reg_db?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_USER_NAME",
        "value": "<USER_NAME>"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_PASSWORD",
        "value": "<PASSWORD>"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/config_db_esb?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_USER_NAME",
        "value": "<USER_NAME>"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_PASSWORD",
        "value": "<PASSWORD>"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/stratos_user_db?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_USER_NAME",
        "value": "<USER_NAME>"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_PASSWORD",
        "value": "<PASSWORD>"
      }

      Example:

      Code Block
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/stratos_reg_db?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_USER_NAME",
        "value": "root"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_REGISTRY_DB_PASSWORD",
        "value": "root"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/config_db_esb?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_USER_NAME",
        "value": "root"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_CONFIG_DB_PASSWORD",
        "value": "root"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_URL",
        "value": "jdbc:mysql://192.168.30.7:3306/stratos_user_db?autoReconnect=true"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_USER_NAME",
        "value": "root"
      },
      {
        "name": "payload_parameter.CONFIG_PARAM_USER_MGT_DB_PASSWORD",
        "value": "root"
      }
  • Network Partition JSON
    Configuring the network partition is optional. Define the load balancer port IPs under property.
  • Application JSON
    If the application is a single tenant application, ensure to add the artifact repository related details in subscribableInfo, under the artifactRepository section, of the application JSON definition.
    Example:

    Code Block
    "artifactRepository":{  
       "privateRepo":false,
       "repoUrl":"https://github.com/lakwarus/single-cartridge.git",
       "repoUsername":"",
       "repoPassword":""
    }
    Info

    By subscribing to an application you can deploy a custom application artifacts in Private PaaS .

  • Application Sign Up JSON
    Sign up to the application if the application is a multi-tenant application.

    Info

    For more information on application sign up see, signing up to an application

 

Step 6: Running the product as a service on Private PaaS

...