« Back to Blog
BLOG POST

Get started with ObjectRocket Beta

Steve Croce

By Steve Croce

Posted on: March 22, 2019

Our new Beta platform adds and changes a few concepts that ObjectRocket customers new and old may not be familiar with. In order to help you get up and running, follow this guide to walk through the process.

Creating an account

Since this platform uses a new authentication and authorization system, you’ll need to create a new account, even if you’re a current ObjectRocket customer. At this time, logins for the existing and Beta service will remain completely separate.

1. Sign up

Start at https://app.objectrocket.cloud and click Sign Up.

Whether you’re a new or existing customer, you will need to create a new account. However, if you are an existing customer we will be able to link your billing later. Just reach out to our support team and they’ll set you up.

Since we are in Beta, you must agree to the Beta test terms. Because there is no official SLA for uptime and support at this time, this launch is for test workloads only.

2. Verify your email address

Once you hit the email verification screen, you’ll get an email in your inbox from ObjectRocket Support with a link to verify your email address. Click the link in your email to continue the process.

Note for Google Chrome users: You may need to sign in again when you click the verification link.

3. Create an organization

ObjectRocket Beta Sign Up

 

 

 

 

 

 

 

The next step is to create an organization. This is brand new so I’ll explain a bit.

Many customers have requested the ability to have multiple logins to an account with various levels of access. This Role-Based Access Control (RBAC) has been on our databases for quite a while, but we’re now introducing it to your management interface.

In the future, you will be able to add additional users and consolidate communications using this organization.

Tips for filling this out:

  • Contact Email: We’ll use this email to contact your company for support purposes. If you’re a single user, you can just use your login email.
  • Organization Name: You can name your organization anything you want and you can change it later. If you’re part of a company that will take advantage of RBAC in the future, use your company or division name. If you’re just a single user, use your name, your Wu-Tang Name Generator name, or whatever you want.
  • Phone Number: This is the phone number we’ll use to contact you for billing or support questions if we can’t get a hold of you via email.

4. Enter Payment Information

Next up is payment information. This one can use a little context, so I’ll explain.

Though the Beta is currently a Free Trial, we will eventually charge for the service just like we do for our other service. For that reason, we gather payment information now so there aren’t any disruptions when the free trial is over.

Don’t worry, you will be given at least 30 days notice before any billing will begin, will be given advance notice of any charges, and will have every opportunity to modify service before being charged.

If you’re currently an ObjectRocket customer, you can stop here and contact support. We can link your two accounts so you don’t need to enter payment information again.

After that, you’re in!

Welcome to Mission Control!

Our user interface, called Mission Control, is what you’ll use to manage, monitor, and view your database, as well as contact support. However, for our Beta launch, the main purpose of Mission Control is to create a token that you can use to access our API.

 

ObjectRocket Mission Control

 

 

 

 

 

 

Things that will be coming very soon (and may even be active by the time you read this) are:

  • Instance List: See your active instances in the UI
  • Create an Instance: Create new instances via the UI, rather than the API
  • ACL Management: Manage ACLs via the create process and instance list in the UI

There’s definitely even more to come in the next month, so once you sign up, check back often to see what’s new.

Using the API

Though the API is the only option during Beta, it will always be available to perform management tasks, even after Mission Control is fully built out. The full list of supported API requests as well as an Insomnia template is available at https://docs.api.objectrocket.cloud.

1. Attach the token to API requests

ObjectRocket API

 

 

 

 

 

If you’re using Insomnia, you can provide the API Token via an “Api-Token” header, which should work fine, but what we’ve done in our downloadable template is created a token variable that you can set in your environment, like so:

ObjectRocket API

Manage Environments

From there, you can use the token throughout insomnia by just typing: {{token}}
However, if you’re not an Insomnia user, here’s what the header looks like in curl:

curl --header "Api-Token: put_your_token_here" https://api.objectrocket.cloud/instanceslist/

The setup should be similar in other REST clients.

2. View service catalog

The service catalog, which will tell us what services and options are available in the Beta. If you just want to jump to creating an instance, you can skip this step and go right to step 3.

service catalog

Above you can see the “Elasticsearch” service is available. Let’s see what serviceSubtypes are available for it by using the “service” query parameter to filter:

serviceSubtypes

As you can see, there’s one subtype called “elasticsearch_multirole”.

Finally, let’s look at what versions are available for that service and subtype, once again using query parameters to filter:

filter query parameters

You can see that we have two versions available: 6.4.0 and 6.5.3.
This is generally how the catalog will work when you want to see the options for creating an instance.

3. Create an instance

If you’re using the Insomnia template, you can use the “Create Elasticsearch Instance” call to create, which provides you with a basic configuration. Let’s take a look at the configuration we’re providing real quick, because you may want to change a few things.

POST /instances/elasticsearch/
{
   "plan": "Standard_48GB",
   "name": "my_instance_name",
   "version": "6.5.3",
   "region": "us-east-1",
   "provider": "AWS",
   "service": "Elasticsearch",
   "serviceSubtype": "elasticsearch_multirole",
   "features": {
      "addons": {
         "kibana": true,
         "cerebro": true
      }
   },
   "acls": [{
      "name": "ElasticsearchACL",
      "cidr": "0.0.0.0/32",
      "kind": 2
   }, {
      "name": "KibanaACL",
      "cidr": "0.0.0.0/32",
      "kind": 4
   }, {
      "name": "CerebroACL",
      "cidr": "0.0.0.0/32",
      "kind": 5
   }]
}

Other than the “name”, which can be whatever you want it to be, the whole top section are the options returned by the catalog; You can fill those with whatever catalog selections you want.

Next is the features section. For now, this is used to specify that you want a Kibana and Cerebro dashboard with your instance. In the future, there will be more options.

Add ACLs
Finally, you’ll want to add ACLs to your instance. By default, all access to the instance is blocked, so you must specify which IPs and ranges to allow. Also, note that Elasticsearch, Kibana, and Cerebro all have separate ACLs specified by the “kind” field, so you can limit access to each of those individually. Set these to the IPs that you’ll need to access the service from. If you’re just trying to connect from your local machine, make sure you’re using your external IP address. There are plenty of services that can return this IP for you, or you can just Google “What’s my IP” and the first result should be your IP. You can always add or modify these later, if you wish

Once your create payload is ready, provide it with a POST to /instances/elasticsearch/ along with your token.

4. View active instances

While our instance is being created, we can check the status and see other active instances via the /instances/elasticsearch endpoint.

GET /instances/elasticsearch/
[
{
   "id": "00000000-0000-0000-0000-000000000000",
   "name": "my_instance_name",
   "service": "Elasticsearch",
   "hosts": [],
   "features": {
      "addons": {
         "kibana": true
      }
   },
   "settings": {},
   "acls": [],
   "statusDisplay": "Create Requested",
   "namespace": "00000000-0000-0000-0000-000000000000",
   "url": "/instances/00000000-0000-0000-0000-000000000000/",
   "metadata": {},
   "dtCreated": "2019-03-08T04:17:46.120780Z",
   "dtModified": "2019-03-08T04:17:49.246328Z",
   "dtDeleted": null,
   "provider": "AWS",
   "version": "6.4.0",
   "clusterID": "11111111-1111-0000-0000-000000000000",
   "encrypted": false,
   "requested": "2019-03-08T04:17:49.246344Z",
   "completed": null,
   "stripeSubscriptionId": null,
   "lastTransactionId": "11111111-1111-1111-0000-000000000000",
   "status": 4,
   "organization": "11111111-1111-0000-0000-111111111111",
   "region": "us-east-1",
   "serviceSubtype": "elasticsearch_multirole"
}
]

While waiting for the cluster to build, keep your eye on the the “statusDisplay” field. The “statusDisplay” field will report “Ready” when the cluster is done creating.

Once you’re in the “Ready” state, the “hosts” field will be populated with an “fqdn” and “port” for each active service (Elasticsearch, Kibana, and/or Cerebro).

You can connect to any of them by connecting to https://<fqdn>:<port> , but first you’ll need to create a user in Elasticsearch

5. Create a user

In order to connect to any instance on the ObjectRocket service, you’ll need an open ACL and a valid user. We took care of the ACLs in the last step, during the create call, but we’ll create the user with a separate call to the /instances/elasticsearch/<id>/users/ endpoint. You’ll replace <id> with the “id” field returned in the instance list

POST /instances/elasticsearch/<id>/users/
{
   "username": "myawesomeusername",
   "password": "supersecretpassword",
   "roles": ["admin"]
}

This will create an admin user that can read and write all indexes as well as use Kibana. We also have readonly and kibana roles. You should receive a 202 response and now you can connect to your instance.

Wrapping up

That’s a quick primer on using our API and getting an instance going on our new platform. There’s much more to come, but this can get you up and running. You can learn more in our API Docs. As always, feel free to reach out to our support team if you have any questions.

eBook: Everything you need to know about DBaaS

Learn why DBaaS is booming and get a checklist of questions to ask vendors to find the right fit for your business.

Learn More →

DBaaS for Elasticsearch Jetpack

eBook: DBaaS for Elasticsearch Jetpack

Everything you need to know about Elasticsearch with Kibana. Plus, learn how DBaaS can save you time and money.

Learn More →

Keep in the know!

Subscribe to our emails and we’ll let you know what’s going on at ObjectRocket. We hate spam and make it easy to unsubscribe.