Deployment Guide


This guide will walk you through a production Synapse-Swarm deployment. Synapse-Swarm will register with AHA for service discovery and future devops tasks, and therefore this guide assumes the Synapse Deployment Guide has been followed.

As in the Synapse Deployment Guide, docker-compose will be used as a light-weight orchestration mechanism.


With the Synapse Deployment Guide completed, the following items will be needed before starting the deployment:

  • Access to the running AHA container.

  • The previously chosen network name; referred to as <yournetwork> in this guide.

  • A host prepared as specified by Prepare your Hosts.


Inside the AHA container

Generate a one-time use provisioning URL:

python -m 00.swarm

You should see output that looks similar to this:

one-time use URL: ssl://aha.<yournetwork>:27272/<guid>?certhash=<sha256>

On the Host

Create the container directory:

mkdir -p /srv/syn/00.swarm/storage
chown -R 999 /srv/syn/00.swarm/storage

Create the /srv/syn/00.swarm/docker-compose.yaml file with contents:

version: "3.3"
    user: "999"
    image: vertexproject/synapse-swarm:v3.x.x
    network_mode: host
    restart: unless-stopped
        - ./storage:/vertex/storage
        - SYN_SWARM_HTTPS_PORT=null
        - SYN_SWARM_AHA_PROVISION=ssl://aha.<yournetwork>:27272/<guid>?certhash=<sha256>


Don’t forget to replace your one-time use provisioning URL!

Start the container:

docker-compose --file /srv/syn/00.swarm/docker-compose.yaml pull
docker-compose --file /srv/syn/00.swarm/docker-compose.yaml up -d

Remember, you can view the container logs in real-time using:

docker-compose --file /srv/syn/00.swarm/docker-compose.yaml logs -f

Add the Service to the Cortex

From a Storm console add the service to the Cortex:

> service.add swarm aha://swarm...

Use Synapse Swarm in Integrating Power-Ups

A service that integrates with Synapse Swarm would add specific job types, and then add work units to these jobs. The work units are queued within Synapse Swarm so that the service can spin up multiple workers for a job as needed. The output of the work is then also queued within Synapse Swarm, so that a consumer can receive the results of the jobs configured for a given return channel.

For example, to use this Swarm with Synapse Yara, the swarm configuration option can be set in the docker-compose.yaml file:

    # ...
    - SYN_YARA_SWARM=aha://swarm...

What’s next?

See the DevOps Guide for instructions on performing various maintenance tasks on your deployment!