Skip to content
22 changes: 22 additions & 0 deletions docs/harperdb-studio/create-account.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Create a Studio Account
Start at the [HarperDB Studio sign up page](https://studio.harperdb.io/sign-up).

1) Provide the following information:
* First Name
* Last Name
* Email Address
* Subdomain

*Part of the URL that will be used to identify your HarperDB Cloud Instances. For example, with subdomain “demo” and instance name “c1” the instance URL would be: https://c1-demo.harperdbcloud.com.*
* Coupon Code (optional)
2) Review the Privacy Policy and Terms of Service.
3) Click the sign up for free button.
4) You will be taken to a new screen to add an account password. Enter your password.
*Passwords must be a minimum of 8 characters with at least 1 lower case character, 1 upper case character, 1 number, and 1 special character.*
5) Click the add account password button.

You will receive a Studio welcome email confirming your registration.



Note: Your email address will be used as your username and cannot be changed.
7 changes: 7 additions & 0 deletions docs/harperdb-studio/enable-mixed-content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Enable Mixed Content

Enabling mixed content is required in cases where you would like to connect the HarperDB Studio to HarperDB Instances via HTTP. This should not be used for production systems, but may be convenient for development and testing purposes. Doing so will allow your browser to reach HTTP traffic, which is considered insecure, through an HTTPS site like the Studio.



A comprehensive guide is provided by Adobe here: https://experienceleague.adobe.com/docs/target/using/experiences/vec/troubleshoot-composer/mixed-content.html.
10 changes: 10 additions & 0 deletions docs/harperdb-studio/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
# HarperDB Studio
HarperDB Studio is the web-based GUI for HarperDB. Studio enables you to administer, navigate, and monitor all of your HarperDB instances in a simple, user friendly interface without any knowledge of the underlying HarperDB API. It’s free to sign up, get started today!

[Sign up for free!](https://studio.harperdb.io/sign-up)

---
## How does Studio Work?
While HarperDB Studio is web based and hosted by us, all database interactions are performed locally. The HarperDB Studio loads in your browser, at which point you login to your HarperDB instances. Credentials are stored in your browser cache and are not transmitted back to HarperDB. All database interactions are made via the HarperDB Operations API directly from your browser to your instance.

## What type of instances can I manage?
HarperDB Studio enables users to manage both HarperDB Cloud instances and privately hosted instances all from a single UI. All HarperDB instances feature identical behavior whether they are hosted by us or by you.
115 changes: 115 additions & 0 deletions docs/harperdb-studio/instance-configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Instance Configuration

HarperDB instance configuration can be viewed and managed directly through the HarperDB Studio. HarperDB Cloud instances can be resized in two different ways via this page, either by modifying machine RAM or by increasing drive storage. User-installed instances can have their licenses modified by modifying licensed RAM.



All instance configuration is handled through the **config** page of the HarperDB Studio, accessed with the following instructions:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.

2) Click the appropriate organization that the instance belongs to.

3) Select your desired instance.

4) Click config in the instance control bar.

*Note, the **config** page will only be available to super users and certain items are restricted to Studio organization owners.*

## Instance Overview

The **instance overview** panel displays the following instance specifications:

* Instance URL

* Instance Node Name (for clustering)

* Instance API Auth Header (this user)

*The Basic authentication header used for the logged in HarperDB database user*

* Created Date (HarperDB Cloud only)

* Region (HarperDB Cloud only)

*The geographic region where the instance is hosted.*

* Total Price

* RAM

* Storage (HarperDB Cloud only)

* Disk IOPS (HarperDB Cloud only)

## Update Instance RAM

HarperDB Cloud instance size and user-installed instance licenses can be modified with the following instructions. This option is only available to Studio organization owners.



Note: For HarperDB Cloud instances, upgrading RAM may add additional CPUs to your instance as well. Click here to see how many CPUs are provisioned for each instance size.

1) In the **update ram** panel at the bottom left:

* Select the new instance size.

* If you do not have a credit card associated with your account, an **Add Credit Card To Account** button will appear. Click that to be taken to the billing screen where you can enter your credit card information before returning to the **config** tab to proceed with the upgrade.

* If you do have a credit card associated, you will be presented with the updated billing information.

* Click **Upgrade**.

2) The instance will shut down and begin reprovisioning/relicensing itself. The instance will not be available during this time. You will be returned to the instance dashboard and the instance status will show UPDATING INSTANCE.

3) Once your instance upgrade is complete, it will appear on the instance dashboard as status OK with your newly selected instance size.

*Note, if HarperDB Cloud instance reprovisioning takes longer than 20 minutes, please submit a support ticket here: https://harperdbhelp.zendesk.com/hc/en-us/requests/new.*

## Update Instance Storage

The HarperDB Cloud instance storage size can be increased with the following instructions. This option is only available to Studio organization owners.

Note: Instance storage can only be upgraded once every 6 hours.

1) In the **update storage** panel at the bottom left:

* Select the new instance storage size.

* If you do not have a credit card associated with your account, an **Add Credit Card To Account** button will appear. Click that to be taken to the billing screen where you can enter your credit card information before returning to the **config** tab to proceed with the upgrade.

* If you do have a credit card associated, you will be presented with the updated billing information.

* Click **Upgrade**.

2) The instance will shut down and begin reprovisioning itself. The instance will not be available during this time. You will be returned to the instance dashboard and the instance status will show UPDATING INSTANCE.

3) Once your instance upgrade is complete, it will appear on the instance dashboard as status OK with your newly selected instance size.

*Note, if this process takes longer than 20 minutes, please submit a support ticket here: https://harperdbhelp.zendesk.com/hc/en-us/requests/new.*

## Remove Instance

The HarperDB instance can be deleted/removed from the Studio with the following instructions. Once this operation is started it cannot be undone. This option is only available to Studio organization owners.

1) In the **remove instance** panel at the bottom left:
* Enter the instance name in the text box.

* The Studio will present you with a warning.

* Click **Remove**.

2) The instance will begin deleting immediately.

## Restart Instance

The HarperDB Cloud instance can be restarted with the following instructions.

1) In the **restart instance** panel at the bottom right:
* Enter the instance name in the text box.

* The Studio will present you with a warning.

* Click **Restart**.

2) The instance will begin restarting immediately.
58 changes: 58 additions & 0 deletions docs/harperdb-studio/instance-example-code.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Instance Example Code

Example code prepopulated with the instance URL and authorization token for the logged in database user can be found on the **example code** page of the HarperDB Studio. Code samples are generated based on the HarperDB API Documentation Postman collection. Code samples accessed with the following instructions:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.

2) Click the appropriate organization that the instance belongs to.

3) Select your desired instance.

4) Click **example code** in the instance control bar.

5) Select the appropriate **category** from the left navigation.

6) Select the appropriate **operation** from the left navigation.

7) Select your desired language/variant from the **Choose Programming Language** dropdown.

8) Copy code from the sample code panel using the copy icon.

## Supported Languages

Sample code uses two identifiers: **language** and **variant**.

* **language** is the programming language that the sample code is generated in.

* **variant** is the methodology or library used by the language to send HarperDB requests.

The list of available language/variants are as follows:

| Language | Variant |
|--------------|---------------|
| C# | RestSharp |
| cURL | cURL |
| Go | Native |
| HTTP | HTTP |
| Java | OkHttp |
| Java | Unirest |
| JavaScript | Fetch |
| JavaScript | jQuery |
| JavaScript | XHR |
| NodeJs | Axios |
| NodeJs | Native |
| NodeJs | Request |
| NodeJs | Unirest |
| Objective-C | NSURLSession |
| OCaml | Cohttp |
| PHP | cURL |
| PHP | HTTP_Request2 |
| PowerShell | RestMethod |
| Python | http.client |
| Python | Requests |
| Ruby | Net:HTTP |
| Shell | Httpie |
| Shell | wget |
| Swift | URLSession |


15 changes: 15 additions & 0 deletions docs/harperdb-studio/instance-metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Instance Metrics

The HarperDB Studio display instance status and metrics on the instance status page, which can be accessed with the following instructions:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.

2) Click the appropriate organization that the instance belongs to.

3) Select your desired instance.

4) Click **status** in the instance control bar.

Once on the instance browse page you can view host system information, [HarperDB logs](https://harperdb.io/docs/reference/logging/), [HarperDB jobs](https://harperdb.io/docs/reference/job-logs/), and [HarperDB Cloud alarms](https://harperdb.io/docs/harperdb-cloud/alarms/) (if it is a cloud instance).

*Note, the **status** page will only be available to super users.*
137 changes: 137 additions & 0 deletions docs/harperdb-studio/instances.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Instances

The HarperDB Studio allows you to administer all of your HarperDB instances in one place. HarperDB currently offers the following instance types:

* **HarperDB Cloud Instance**
Managed installations of HarperDB, what we call [HarperDB Cloud](https://harperdb.io/docs/harperdb-cloud/).
* **5G Wavelength Instance**
Managed installations of HarperDB running on the Verizon network through AWS Wavelength, what we call [5G Wavelength Instances](https://harperdb.io/docs/harperdb-cloud/verizon-5g-wavelength/). *Note, these instances are only accessible via the Verizon network.*
* **User-Installed Instance**
Any HarperDB installation that is managed by you. These include instances hosted within your cloud provider accounts (for example, from the AWS or Digital Ocean Marketplaces), privately hosted instances, or instances installed locally.

All interactions between the Studio and your instances take place directly from your browser. HarperDB stores metadata about your instances, which enables the Studio to display these instances when you login. Beyond that, all traffic is routed from your browser to the HarperDB instances using the standard [HarperDB API](https://harperdb.io/docs/harperdb-api/).

## Organization Instance List
A summary view of all instances within an organization can be viewed by clicking on the appropriate organization from the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page. Each instance gets their own card. HarperDB Cloud and user-installed instances are listed together.

## Create a New Instance
A new instance can be created as follows:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.
2) Click the appropriate organization for the instance to be created under.
3) Click the **Create New HarperDB Cloud Instance + Register User-Installed Instance** card.
4) Select your desired Instance Type.
5) For a HarperDB Cloud Instance or a HarperDB 5G Wavelength Instance, click **Create HarperDB Cloud Instance**.

1) Fill out Instance Info.
1) Enter Instance Name

*This will be used to build your instance URL. For example, with subdomain “demo” and instance name “c1” the instance URL would be: https://c1-demo.harperdbcloud.com. The Instance URL will be previewed below.*

2) Enter Instance Username

*This is the username of the initial HarperDB instance super user.*

3) Enter Instance Password

*This is the password of the initial HarperDB instance super user.*

2) Click **Instance Details** to move to the next page.
3) Select Instance Specs

1) Select Instance RAM

*HarperDB Cloud Instances are billed based on Instance RAM, this will select the size of your provisioned instance. [More on instance specs](https://harperdb.io/docs/harperdb-cloud/instance-size-hardware-specs/).*

2) Select Storage Size

*Each instance has a mounted storage volume where your HarperDB data will reside. Storage is provisioned based on space and IOPS. [More on IOPS Impact on Performance](https://harperdb.io/docs/harperdb-cloud/iops-impact-on-performance/).*

3) Select Instance Region

*The geographic area where your instance will be provisioned.*

4) Click **Confirm Instance Details** to move to the next page.
5) Review your Instance Details, if there is an error, use the back button to correct it.
6) Review the [Privacy Policy](https://harperdb.io/legal/privacy-policy/) and [Terms of Service](https://harperdb.io/legal/harperdb-cloud-terms-of-service/), if you agree, click the **I agree** radio button to confirm.
7) Click **Add Instance**.
8) Your HarperDB Cloud instance will be provisioned in the background. Provisioning typically takes 5-15 minutes. You will receive an email notification when your instance is ready.

6) For a user-installed instance, click **Register User-Installed Instance**.

1) Fill out Instance Info.

1) Enter Instance Name

*This is used for descriptive purposes only.*
2) Enter Instance Username

*The username of a HarperDB super user that is already configured in your HarperDB installation.*
3) Enter Instance Password

*The password of a HarperDB super user that is already configured in your HarperDB installation.*
4) Enter Host

*The host to access the HarperDB instance. For example, `harperdb.myhost.com` or `localhost`.*
5) Enter Port

*The port to access the HarperDB instance. HarperDB defaults `9925` for HTTP and `31283` for HTTPS.*
6) Select SSL

*If your instance is running over SSL, select the SSL checkbox. If not, you will need to enable mixed content in your browser to allow the HTTPS Studio to access the HTTP instance. If there are issues connecting to the instance, the Studio will display a red error message.*

2) Click **Instance Details** to move to the next page.
3) Select Instance Specs
1) Select Instance RAM

*HarperDB instances are billed based on Instance RAM. Selecting additional RAM will enable the ability for faster and more complex queries.*
4) Click **Confirm Instance Details** to move to the next page.
5) Review your Instance Details, if there is an error, use the back button to correct it.
6) Review the [Privacy Policy](https://harperdb.io/legal/privacy-policy/) and [Terms of Service](https://harperdb.io/legal/harperdb-cloud-terms-of-service/), if you agree, click the **I agree** radio button to confirm.
7) Click **Add Instance**.
8) The HarperDB Studio will register your instance and restart it for the registration to take effect. Your instance will be immediately available after this is complete.

## Delete an Instance

Instance deletion has two different behaviors depending on the instance type.

* **HarperDB Cloud Instance**
This instance will be permanently deleted, including all data. This process is irreversible and cannot be undone.
* **User-Installed Instance**
The instance will be removed from the HarperDB Studio only. This does not uninstall HarperDB from your system and your data will remain intact.

An instance can be deleted as follows:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.
2) Click the appropriate organization that the instance belongs to.
3) Identify the proper instance card and click the trash can icon.
4) Enter the instance name into the text box.

*This is done for confirmation purposes to ensure you do not accidentally delete an instance.*
5) Click the **Do It** button.

## Upgrade an Instance

HarperDB instances can be resized on the [Instance Configuration](https://harperdb.io/docs/harperdb-studio/instance-config/) page.

## Instance Log In/Log Out

The Studio enables users to log in and out of different database users from the instance control panel. To log out of an instance:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.
2) Click the appropriate organization that the instance belongs to.
3) Identify the proper instance card and click the lock icon.
4) You will immediately be logged out of the instance.

To log in to an instance:

1) Navigate to the [HarperDB Studio Organizations](https://studio.harperdb.io/organizations) page.
2) Click the appropriate organization that the instance belongs to.
3) Identify the proper instance card, it will have an unlocked icon and a status reading PLEASE LOG IN, and click the center of the card.
4) Enter the database username.

*The username of a HarperDB user that is already configured in your HarperDB instance.*
5) Enter the database password.

*The password of a HarperDB user that is already configured in your HarperDB instance.*
6) Click **Log In**.
Loading