Deploying Orbital

Deploying Orbital

Deploying using Docker Compose

A sample docker-compose.yml is maintained by the Orbital team and published at start.orbitalhq.com.

It contains reasonable defaults for getting a local environment running. Note that by default, Orbital does not enable authentication or role-based authorization, and you’ll need to enable these.

Related reading

Learn how to enable authentication and authorization in Orbital

Networking between components

Orbital is packaged as a collection of container images, which need to be able to communicate between each other.

The addresses used are configured in a file, which be default is loaded from config/services.conf.

The location of the config file can be set by passing --vyne.services.config-file in the command line when starting Orbital.

Config settingDefault value
vyne.services.config-fileconfig/services.conf

If the config file doesn’t exist, then a default file with reasonable defaults is written on startup.

An example of the config file is shown below:

services {
    analytics-server {
        url="http://vyne-analytics-server"
    }
    cask-server {
        url="http://cask"
    }
    pipeline-runner {
        url="http://vyne-pipeline-runner"
    }
    query-server {
        url="http://vyne"
    }
    schema-server {
      url="http://vyne-schema-server"
      rsocket-port=7655
    }
}

The following table outlines the components and, the default network addresses and ports that are expected to be exposed. If deploying in a network like Docker Swarm or Kubernetes, it is expected that services are available on the configured addresses.

Note: If using Eureka, these settings have no effect.

Component & ImageDefault network addressPort(s)
Orbital
Required
(UI and Query execution)
http://orbital80
Schema server
Required
(Central co-ordination of multiple schemas)
http://schema-server80 (http)
7655 (RSocket)
Analytics server
Optional
(Stores query history and lineage, as well as pipeline logs)
http://orbital-analytics-server80 (http)
7654 (RSocket)
Cask
Optional
(No-code file-to-api service)
http://cask80
Pipelines
Optional
(Pipeline services)
http://orbital-pipeline-runner80

See also

When Orbital is configured to distribute work across a cluster, ports must also be exposed to enable multicasting. See Distributing work across a cluster for more information.

Service discovery with Eureka

Orbital can be configured to work with Eureka for client side service discovery.

Eureka support is disabled by default, and can be enabled by setting the eureka.client.enabled=true flag on startup. The full set of supported flags is shown below.

ParameterPurpose
eureka.client.enabledEnables / disables Eureka. Disabled by default
eureka.uriRequired. The http address of the Eureka server
eureka.instance.preferIpAddressConfigures Eureka to prefer IP Address over DNS name registration. Defaults to false

Important

If using Eureka, you should apply these settings across all components in the Orbital stack.

Previous
Other formats
Next
Configuring Orbital