The Ground2Cloud CLI can be used to install and configure the Ground2Cloud Client.
The G2C client is a NPM package, and requires Node.js. To check that Node.js is installed:
$ node -v
The response should include a version number such as v7.5.0
.
If Node and NPM aren't currently installed go to the NPM docs and install Node.js and NPM.
Installation
Install the G2C client:
$ sudo -H npm install -g cloudelements-petit
The Cloud Elements G2C client is called petit-client
Configuration
The configuration settings for the G2C client live in config.toml
.
To create the to config file, run the command
$ petit-client init
This will create the config file as well as print the path to the created file, usually under {user_home}/.petit/config.toml
Open config.toml and check that the client configuration matches the following:
[client]
host = "g2c.cloud-elements.com"
port = 22
backPort = 3014
username = "root"
listenPort = 3015
bindAddr = "0.0.0.0"
apiPort = 8100
This sets the petit-client to talk to the production g2c server.
To connect your local service to the G2C client, configure the [client.local]
to match the local settings.
host
should point to the url of the service you are connecting to, and port
is the port the service is exposed to.
For example, if I'm running a PostgreSQL server locally, my configuration would look like this:
[client.local]
host = "localhost"
port = 5432
Note: Every time the configuration file is changed, the petit-client needs to be restarted.
$ petit-client reload
Connecting the G2C local client to an Element Instance
NOTE: Make sure the [client] section of the config.toml matches the configuration above before running the register command.
Before starting the petit-client, you will need to run the register command.
$ petit-client register
Then tell petit-client to start up
$ petit-client start
Once the petit-client is registered and running, run the petit-client status
command to get the server information. Below is an example configuration.
$ petit-client status
> Client has status on pid 6798
{
"status": "running",
"registration": [
{
"id": "9886",
"port": 40967,
"dir": "/Users/claytonshaver/.petit/tenants/bb5e671f92325f2d",
"endpoint": "https://9886.g2c.cloud-elements.com"
}
],
"fingerprint": "5a:80:cd:98:ae:0e:76:db:3c:00:35:04:13:d8:7c:71",
"vitae": {
"brand": "ce"
},
"server": {
"vitae": {
"environment": "production",
"endpoint": "https://REGID.g2c.cloud-elements.com",
"ip": "::ffff:63.157.89.118",
"version": "0.5.12",
"endpoints": {
"9886": "https://9886.g2c.cloud-elements.com"
}
}
}
}
Make a note of the port and endpoint, in the example above they are "port":40967
and "endpoint": "https://9886.g2c.cloud-elements.com"
This information can be used to create an element Instance. Using the example above, we could create a PostgreSQL instance using the database host: 9886.g2c.cloud-elements.com:40967
.