Deploying Vyne
How to Get Vyne deployed
Deploying using Docker Compose
A sample docker-compose.yml
is maintained by the Vyne team and published at start.vyne.co.
It contains reasonable defaults for getting a local environment running. Note that by default, Vyne does not enable authentication or role-based authorization, and you'll need to enable these.
Learn how to enable authentication and authorization in Vyne
Deploying using Kubernetes
Networking between components
Vyne 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 Vyne.
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) |
---|---|---|
Vyne Required (UI and Query execution) | http://vyne | 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://vyne-analytics-server | 80 (http) 7654 (RSocket) |
Cask Optional (No-code file-to-api service) | http://cask | 80 |
Pipelines Optional (Pipeline services) | http://vyne-pipeline-runner | 80 |
When Vyne 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
Vyne 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 |
If using Eureka, you should apply these settings across all components in the Vyne stack.