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 setting | Default value |
---|---|
vyne.services.config-file | config/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 & Image | Default network address | Port(s) |
---|---|---|
Orbital Required (UI and Query execution) | http://orbital | 80 |
Schema server Required (Central co-ordination of multiple schemas) | http://schema-server | 80 (http) 7655 (RSocket) |
Analytics server Optional (Stores query history and lineage, as well as pipeline logs) | http://orbital-analytics-server | 80 (http) 7654 (RSocket) |
Cask Optional (No-code file-to-api service) | http://cask | 80 |
Pipelines Optional (Pipeline services) | http://orbital-pipeline-runner | 80 |
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.
Parameter | Purpose |
---|---|
eureka.client.enabled | Enables / disables Eureka. Disabled by default |
eureka.uri | Required. The http address of the Eureka server |
eureka.instance.preferIpAddress | Configures 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.