Home

Awesome

Callisto

Docker Pulls

Callisto is an open-source Kubernetes-native implementation of Selenium Grid.

Here you can get more information about Callisto:

Current status

Callisto is a production-ready tool, which lets us run hundreds of thousands selenium tests per day inside Wrike. It completely satisfies our needs, so currently we're not actively developing it.

Architecture

Callisto architecture

Callisto architecture

Components

Nginx and Callisto must be running inside a Kubernetes cluster in order to access browser pods directly.

Features

Installation

See helm chart to get started.

Configuration

NameTypeRequiredDefaultDescription
WEB_API_HOSTstrNo127.0.0.1a host to run web api
WEB_API_PORTintNo8080a port to run web api
LOG_LEVELstrNoINFOlog level
GRAYLOG_HOSTstrNoGraylog host address. Logging to Graylog is disabled if left empty
GRAYLOG_PORTintNo12201Graylog port
K8S_NAMESPACEstrNodefaultk8s namespace to spawn pods
POD_WEBDRIVER_PATHstrNowebdriver path location. On selenoid images /wd/hub for firefox, empty for others
POD_WEBDRIVER_PORTintNo4444webdriver port
POD_MANIFESTstrNo/etc/callisto/pod_manifest.yamlPath to pod manifest file
SENTRY_DSNstrNoSentry DSN. Sentry disabled if left empty

Resources requests/limits, browser image, screen resolution and other parameters can be configured via pod_manifest.yaml.

Troubleshooting

Each request is marked with a unique trace id (tid). This information is available in the logs. Also, for debugging, it is recommended to set the LOG_LEVEL to DEBUG.