Nckl (read as "nickel") is a lightweight Selenium load balancer used to transparently distribute browser requests from parallel processes over a limited set of browsers.
We use godep for dependencies management so ensure it's installed before proceeding with next steps. To build the code:
- Checkout this source tree:
$ git clone https://github.com/seleniumkit/nckl.git
- Download dependencies:
$ godep restore
- Build as usually:
$ go build
- Run compiled binary:
$GOPATH/bin/nckl
Type $ nckl --help
to see all available flags. Usually Nckl is run like the following:
$ nckl -users /etc/grid-router/users.htpasswd -quotaDir /etc/grid-router/quota -destination example.com:4444
In this command -usersFile
contains path to plain-test users file and -quotaDirectory
contains path to directory with XML quota files. See example test.xml
file in test-data directory.
To build Docker container make sure you have the following installed:
To build container type:
$ godep restore
$ ./build-container.sh
This will build an image nckl:latest
that exposes running Nckl to port 8080.
To run container type:
$ docker run -d --name nckl -e DESTINATION='example.com:4444' -v /etc/grid-router/:/etc/grid-router:ro --net host nckl:latest