Sign inSign up

morpheusdata/morpheus-worker

By morpheusdata

Updated 27 days ago

a VDI Gateway and Distributed Worker Agent for Morpheus

Image
1

100K+

morpheusdata/morpheus-worker repository overview

Morpheus VDI Gateway / Distributed Worker

The Morpheus Worker is a light weight distributed worker daemon as well as a scalable VDI Gateway. Capabilities include:

  • VDI Gateway listener for Console
  • Cloud API Sync and management via egress Websocket back to Morpheus and a SOCKS proxy loopback interface.
  • Agent Communication Relay (Can set applianceUrl for a system or cloud to the inbound 443 port of the worker instead of the appliance)
  • High Availability also supported (Can now run multiple workers with the same keys to balance load)
  • Morpheus Plugin Classloader for plugin remote procedure operations (In Development)
  • Reverse Proxy Console (In Development)

Installing

The Worker/VDI Gateway is offered as both a native VM Installer package as well as a Docker container. To Use as a VDI Gateway within Docker a few pieces of information are needed.

Firstly, in Morpheus, go to Tools -> VDI Pools -> VDI Gateways and create a new VDI Gateway Record. Be sure to set the HTTPS URL where your gateway is going to be living as morpheus will need to be able to redirect the users browser to that page. An API Key will be generated. Make note of this as you will need it later.

Now Simply run with

docker run -d -p 8443:8443  -e MORPHEUS_SELF_SIGNED=true -e MORPHEUS_KEY=[vdiKey] -e MORPHEUS_URL=https://my.morpheus.url morpheusdata/morpheus-worker:latest

This will setup an HTTPS self signed exposed port on 8443 for the vdi gateway. It is highly recommended to use valid certificates on your VDI Gateways. It could be terminated at the VIP or a p12 SSL File can be used and configured for the container.

If the docker entrypoint detects a file at /etc/certs/cert.p12 , SSL Will be enabled on port 8443 instead. be sure to set environment variables MORPHEUS_SSL_ALIAS and MORPHEUS_SSL_PASSWORD when using p12 files.

If wishing to run in HTTP mode and SSL terminate at the VIP one can run the container like so:

docker run -d -p 8080:8080  -e MORPHEUS_SELF_SIGNED=true -e MORPHEUS_KEY=[vdiKey] -e MORPHEUS_URL=https://my.morpheus.url morpheusdata/morpheus-worker:latest

Distributed Worker Configuration

The distributed worker uses a different key and configuration. For this, the worker has to connect back to your morpheus appliance and needs configured with a worker key MORPHEUS_WORKER_KEY. The Key can be found when configuration a worker in Administration -> Integrations -> Distributed Workers. To enable this mode within the container simply add the environment variable with this key.

docker run -d -p 8080:8080  -e MORPHEUS_SELF_SIGNED=true -e MORPHEUS_WORKER_KEY=[workerKey] -e MORPHEUS_KEY=[vdiKey] -e MORPHEUS_URL=https://my.morpheus.url morpheusdata/morpheus-worker:latest

It is not necessary to run in VDI mode and the MORPHEUS_KEY can be omitted when running primarily as a worker.

Tag summary

Content type

Image

Digest

sha256:5d3cfd1cc

Size

346.8 MB

Last updated

about 2 months ago

docker pull morpheusdata/morpheus-worker