ArangoDB v3.12 is under development and not released yet. This documentation is not final and potentially incomplete.

Deployments in ArangoGraph

How to create and manage deployments in ArangoGraph

Below projects in the ArangoGraph deployment hierarchy are deployments. A deployment contains an ArangoDB, configured as you choose. You can have any number of deployments under one project.

Organizations → Projects → Deployments

Each deployment can also be backed up manually or automatically by schedules you can define.

In essence, you can create whatever structure fits you for a given organization, its projects and deployments.

ArangoGraph Deployments

How to create a new deployment

  1. If you do not have a project yet, create a project first.
  2. In the main navigation, in the Projects section, click the project for which you want to create a new deployment.
  3. In the Deployments page, you will see an empty list or a list with your project’s existing deployments.
  4. Click the New deployment button.
  5. Set up your deployment. The configuration options are described below.

ArangoGraph New Deployment

Deployments contain exactly one policy. Within that policy, you can define role bindings to regulate access control on a deployment level.

In the General section

  • Enter the name and optionally a short description for the deployment.

In the Location section

  1. Select the Provider and Region of the provider.
    Once a deployment has been created, it is not possible to change the provider and region anymore.
  2. Select the DB Version. Note: If you don’t know which DB version to select, leave the version selected by default.
  3. In the CA Certificate field
    • The default certificate created for your project will automatically be selected.
    • If you have no default certificate, or want to use a new certificate create a new certificate by typing the desired name for it and hitting enter or clicking the name when done.
    • Or, if you already have multiple certificates, select the desired one.
  4. Optional but strongly recommended: In the IP allowlist field, select the desired one in case you want to limit access to your deployment to certain IP ranges. To create a allowlist, navigate to your project and select the IP allowlists tab.
For any kind of production deployment we strongly advise to use an IP allowlist.

In the Configuration section

Choose between a OneShard, Sharded or Single Server deployment.

  • OneShard deployments are suitable when your data set fits in a single node. They are ideal for graph use cases.

  • Sharded deployments are suitable when your data set is larger than a single node. The data will be sharded across multiple nodes.

  • Single Server deployments are suitable when you want to try out ArangoDB without the need for high availability or scalability. The deployment will contain a single server only. Your data will not be replicated and your deployment can be restarted at any time.

Before you begin configuring your deployment, you first need to select the provider and region in the Location section.

OneShard

  • Select the memory size of your node. The disk size is automatically set for you based on the selected memory size.

ArangoGraph Deployment OneShard

Sharded

  • In addition to the memory size as in the OneShard configuration, select the number of nodes for your deployment. The more nodes you have, the higher the replication factor can be. Same as in OneShard, the disk size is automatically set for you.

ArangoGraph Deployment Sharded

Single Server

  • Like with OneShard and Sharded deployments, you can choose the memory size. Note, however, that the size you choose is for the entire deployment. For OneShard and Sharded deployments the chosen sizes are per node.

ArangoGraph Deployment Single Server

In the Summary section

  1. Review the configuration, and if you’re ok with the setup press the Create button.
  2. You will be taken to the deployment overview page. Note: Your deployment is at that point being bootstrapped, this process will take a few minutes. Once it is ready, you will receive a confirmation email.

How to access your deployment

  1. In the main navigation, click the Dashboard icon and then click Projects.
  2. In the Projects page, click the project for which you created a deployment earlier.
  3. Alternatively, you can access your deployment by clicking Deployments in the dashboard navigation. This page shows all deployments from all projects.
  4. For each deployment in your project, you see the status. While your new deployment is being set up, it will display the bootstrapping status.
  5. Press the View button to show the deployment page.
  6. When a deployment displays a status of OK, you can access it.
  7. Click the Open web console button or on the endpoint URL property to open the dashboard of your new ArangoDB deployment.

At this point your ArangoDB deployment is available for you to use — Have fun!

If you have disabled the auto-login option to the database web interface, you need to follow the additional steps outlined below to access your deployment:

  1. Click the copy icon next to the root password. This will copy the deployment root password to your clipboard. You can also click the view icon to unmask the root password to see it.

    Do not use the root username/password for everyday operations. It is recommended to use them only to create other user accounts with appropriate permissions.
  2. Click the Open web console button or on the endpoint URL property to open the dashboard of your new ArangoDB deployment.

  3. In the username field type root, and in the password field paste the password that you copied earlier.

  4. Press the Login button.

  5. Press the Select DB: _system button.

Each deployment is accessible on two ports:

  • Port 8529 is the standard port recommended for use by web-browsers.
  • Port 18529 is the alternate port that is recommended for use by automated services.

The difference between these ports is the certificate used. If you enable Use well-known certificate, the certificates used on port 8529 is well-known and automatically accepted by most web browsers. The certificate used on port 18529 is a self-signed certificate. For securing automated services, the use of a self-signed certificate is recommended. Read more on the Certificates page.

Password settings

How to enable the automatic root user password rotation

Password rotation refers to changing passwords regularly - a security best practice to reduce the vulnerability to password-based attacks and exploits by limiting for how long passwords are valid. The ArangoGraph Insights Platform can automatically change the root user password of an ArangoDB deployment periodically to improve security.

  1. Navigate to the Deployment for which you want to enable an automatic password rotation for the root user.

  2. In the Quick start section, click the button with the gear icon next to the ROOT PASSWORD.

  3. In the Password Settings dialog, turn the automatic password rotation on and click the Confirm button.

    ArangoGraph Deployment Password Rotation

  4. You can expand the Root password panel to see when the password was rotated last. The rotation takes place every three months.

Auto login to database UI

ArangoGraph provides the ability to automatically login to your database using your existing ArangoGraph credentials. This not only provides a seamless experience, preventing you from having to manage multiple sets of credentials but also improves the overall security of your database. As your credentials are shared between ArangoGraph and your database, you can benefit from end-to-end audit traceability for a given user, as well as integration with ArangoGraph SSO.

You can enable this feature in the Password Settings dialog. Please note that it may take a few minutes to get activated. Once enabled, you no longer have to fill in the root user and password of your ArangoDB deployment.

If you use the auto login feature with AWS private endpoints, it is recommended to switch off the custom DNS setting.

This feature can be disabled at any time. You may wish to consider explicitly disabling this feature in the following situations:

  • Your workflow requires you to access the database UI using different accounts with differing permission sets, as you cannot switch database users when automatic login is enabled.
  • You need to give individuals access to a database’s UI without giving them any access to ArangoGraph. Note, however, that it’s possible to only give an ArangoGraph user database UI access, without other ArangoGraph permissions.
When the auto login feature is enabled, users cannot edit their permissions on the ArangoDB database web interface as all permissions are managed by the ArangoGraph platform.

Before getting started, make sure you are signed into ArangoGraph as a user with one of the following permissions in your project:

  • data.deployment.full-access
  • data.deployment.read-only-access

Organization owners have these permissions enabled by default. The deployment-full-access-user and deployment-read-only-user roles which contain these permissions can also be granted to other members of the organization. See how to create a role binding.

This feature is available on 443 port only.

How to edit a deployment

You can modify a deployment’s configuration, including the ArangoDB version that is being used, change the memory size, or even switch from a OneShard deployment to a Sharded one if your data set no longer fits in a single node.

To edit an existing deployment, you must have the necessary set of permissions attached to your role. Read more about roles and permissions.
  1. Go to the Projects section and select an existing deployment from the list.
  2. Open the deployment you want to change.
  3. In the Quick start section, click the Edit button.
  4. In the Version and Security section, you can do the following:
    • Upgrade the ArangoDB version that is currently being used. See also Upgrades and Versioning
    • Select a different CA certificate.
    • Add or remove an IP allowlist.
  5. In the Configuration section, you can do the following:
    • Scale up or down the memory size per node. The disk size is automatically set for you.
      When scaling up or down the memory size in AWS deployments, the new value gets locked and cannot be changed again until the cloud provider rate limit is reset.
    • Change OneShard deployments into Sharded deployments. To do so, click Sharded. In addition to the other configuration options, you can select the number of nodes for your deployment. This can also be modified later on.
      You cannot switch from Sharded back to OneShard.
    • Change Single Server deployments into OneShard or Sharded deployments.
      You cannot switch from Sharded or OneShard back to Single Server.
  6. All changes are reflected in the Summary section. Review the new configuration and click Save.

How to connect a driver to your deployment

ArangoDB drivers allow you to use your ArangoGraph deployment as a database system for your applications. Drivers act as interfaces between different programming languages and ArangoDB, which enable you to connect to and manipulate ArangoDB deployments from within compiled programs or using scripting languages.

To get started, open a deployment. In the Quick start section, click on the Connecting drivers button and select your programming language. The code snippets provide examples on how to connect to your instance.

Note that ArangoGraph Insights Platform runs deployments in a cluster configuration. To achieve the best possible availability, your client application has to handle connection failures by retrying operations if needed.

ArangoGraph Connecting Drivers Example

How to delete a deployment

Deleting a deployment will delete all its data and backups. This operation is irreversible. Please proceed with caution.
  1. In the main navigation, in the Projects section, click the project that holds the deployment you wish to delete.
  2. In the Deployments page, click the deployment you wish to delete.
  3. Click the Delete/Lock entry in the navigation.
  4. Click the Delete deployment button.
  5. In the modal dialog, confirm the deletion by entering Delete! into the designated text field.
  6. Confirm the deletion by pressing the Yes button.
  7. You will be taken back to the deployments page of the project. The deployment being deleted will display the Deleting status until it has been successfully removed.