Klov Server

Klov allows tracking each of your launches across all your projects. View and analyze how your test perform overtime, how each execution category has compares in detail, track exceptions, create topics for discussion or reminders and search entities from a host of options.


Setup

Setup for community is available only via Docker. Klov professional edition is available from a private Docker repository as well as a jar distro.


Docker: Community

  1. Install Docker (Desktop or Engine, Compose)
  2. Download the Docker-compose.yml or curl:
    $ curl https://raw.githubusercontent.com/extent-framework/klov-server/master/docker-compose.yml -o docker-compose.yml
    
    Docker-compose.yml:
    version: '2'
    services:
        klov:
            image: anshooarora/klov:1.0.1
            container_name: klov
            environment:
                - SPRING_DATA_MONGODB_URI=mongodb://{host}:{port}
            ports:
                - 80:80
    
  3. Update the MongoDB connection details and the port where Klov is to be hosted at
  4. Start Klov
    docker-compose up
    
  5. Open Klov at the $PORT you specified in docker-compose.yml or default:80

Docker: Professional

Please refer the setup notes included in the Welcome email or refer the Setup instructions on your FTP site. Please contact us directly if you are unable to locate the setup instructions.


Jar

The jar distribution is only available for professional edition and the setup is similar to executing any jar file via command line.

  1. Install MongoDB
  2. Setup application.properties file provided in the distribution to update MongoDB details:
    spring.data.mongodb.host=localhost
    spring.data.mongodb.port=27017
    spring.data.mongodb.database=klov
    
  3. Run Klov:
    java -jar klov-x.x.x.jar
    

Installing License (Pro only)

You will have to enter the LICENSE key details in Klov when you start the server. To enter the license key provided with the distribution or by the support team:

  1. Navigate to <klov-host>/settings
  2. Enter the license key from the LICENSE file
  3. Click Save
  4. An expiration date will appear below the License heading

SSL

To configure SSL with Klov, please add the relevant configuration in the application.properties file:

# enable or disable ssl
server.ssl.enabled=true
# Format used by the keystore
# PKCS12 or JKS
server.ssl.key-store-type=
# Path to the keystore containing the certificate
server.ssl.key-store=
# Certificate password
server.ssl.key-store-password=
# Any alias mapped to the certificate
server.ssl.key-alias=

If you are using an untrusted or self-signed SSL certificates, you will receive the below warning:


MongoDB Settings

You can configure your MongoDB environment settings from application.properties:

# data.mongodb
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=klov

Troubleshooting

A few helpful tips are included in this section to resolve some of the common issues faced during setup. If you still encounter issues, please open a ticket at https://github.com/extent-framework/klov/issues if you are using the Community edition or contact us for all Professional edition queries.


Issue connecting to MongoDB on Windows

The Klov image is a linux container, and some users experience issues binding to localhost on Windows. As a workaround, use SPRING_DATA_MONGODB_HOST:

On the MongoDB host, open cmd and run ipconfig. Use the ipv4 address:

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . 
   IPv4 Address. . . . . . . . . . . : **10.0.0.2**
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.0.1

Use the IP address like:

version: '2'
services:
    klov:
        image: anshooarora/klov:1.0
        container_name: klov
        environment:
            - SPRING_DATA_MONGODB_HOST=10.0.0.2
        ports:
            - 80:80

If you get a connection refused, make sure mongod is accepting connections. You will have to set bind_ip under mongo.conf or start mongod with all incoming ips enabled:

mongod --bind_ip_all