Preparing user_input.json

Before running the installer, you need to prepare an user_input.json file with information related to your new cluster that will be used by the installer.

Icon

If you are testing using gmail, please make sure to create your password by going to https://security.google.com/settings/security/apppasswords.

Sample user_input.json

The following code sample of the user_input.json shows an example to deploy to a three node cluster without Internet access:

{
  "ssh": {
    "username": "ec2-user",
    // Alternatively you can provide password: <password to the hosts>
    "pem": "/Users/xxxx/keys/docker.pem",
    "port": 22
  },
  "version": "1.6.0",
  // List of hosts to be installed.
  "mongodb_hosts": ["54.189.92.199"],  // when it is a full replica set (3 nodes), the order MUST be ["primary", "secondary", "arbiter"]
  "hosts": ["54.189.36.125", "54.190.97.213"], // should have at least two nodes
  "cluster": "weitest",
  "arrowdb_url_prefix": "api",
  "arrowcloud_admin_url_prefix": "admin",
  "dashboard_url_prefix": "dashboard",
  "domain_name": "company.com",
  // Configure smtp info for sending emails
  "smtp":{
    "address": "smtp.company.com",
    "username": "smtpaccoutname",
    "password": "smtpaccountpassword",
    "port": 587,
    "tls": true,
    // sender_email is optional for some SMTP servers. In particular, it's required by AWS SES.
    "sender_email": "noreply@company.com",
    // domain is optional
    "domain": "company.com",
  },
  // Email to receive arrowcloud system notifications
  "email": ["abc@xyz.com"],
  // Obtain new relic key at newrelic.com, or provide random string
  // if you choose not to use newrelic or your system has no internet access
  "newrelic_key": "xxxxxx",
  // If you wish to configure ssl access, provide list of ssl pem files here.
  // You can either provide one wildcard cert or individual certs for api, dashboard and admin
  // Remove this line if you only want http for your cluster.
  "ssl_pem_files": ["/Users/xxxx/keys/company.com.pem"]
}

Configure ADI server in the user_input.json

If a cluster needs integrating Filebeat/ADI, configure user_input.json for filebeat/ADI before installation.

If ADI provides an IP address and port (no SSL certificate), configure the adi property in the user_input.json with the following code sample to configure the TCP connection between Filebeat and ADI (no-ssl).

"adi": {
    // server is required for adi section, this is IP address and port of ADI server like 192.168.11.73:5044.
    "server": "((ex: 1.2.3.4:5044))"
 }

If ADI provides an IP address, port and SSL certificates, configure the adi property in the user_input.json with the following code sample to configure the TCP connection between Filebeat and ADI (over SSL):

 "adi": {
    "server": "((ex: 1.2.3.4:5044))",
    "certificate_authorities": "((ex: /etc/pki/root/ca.pem))",
    "certificate": "((ex: /etc/pki/client/cert.pem))",
    "certificate_key": "((ex: /etc/pki/client/cert.key))",
    "key_passphrase":"((ex: key passphrase))"
 }

If ADI isn't available, don't include the adi property in the user_input.json file.

Next steps

Now you are ready to deploy an API Runtime Services cluster. Next, you will need to review the chapter on Running the Deploy Tool to start deploying your cluster.

Related Links