Setup & Update Guide

This guide explains how to perform the initial setup of Calyntro and how to update your analysis data during regular operation.

Calyntro uses a staging workflow for data imports. New data is first imported into an “update” database. Once the import is complete, this database is safely swapped into the live environment. This ensures that the dashboard remains available and responsive while heavy analysis tasks run in the background.

Prerequisites:

  • Docker & Docker Compose must be installed and running.

  • Python is required on your host machine to execute the management scripts.


Initial Setup

Follow these steps to initialize Calyntro for the first time.

1. Download Container Images

First, pull the latest pre-built Calyntro images from the registry:

./manage.sh pull-latest

2. Prepare Configuration

The easiest way to get started is to use the generate_config.sh script. It scans your Git repository and automatically generates a draft config.yaml with:

  • Users: All commit authors and their email aliases.

  • Components: Automatically detected source-code directories.

  • Exclusions: Folders and file extensions that typically do not contain source code.

Run the following command (requires Docker):

./scripts/generate_config.sh /path/to/your/repository -o config/config.yaml

Alternatively, you can manually create your config.yaml using an example template provided in the release.

Ensure you review the generated file to refine components, teams, and exclusions. For detailed information on all configuration options, please refer to the Configuration Guide.

3. Mount Target Repository

Calyntro needs access to the Git repository you want to analyze. The easiest way to provide this is to create a symbolic link named repo in the Calyntro root directory that points to your local repository folder.

ln -s /path/to/your/target/repository ./repo

4. Run Initial Import

Now, start the importer to analyze the Git history and build the initial staging database.

./manage.sh import repo

Depending on the size of your repository, this step may take some time.

5. Move Database to Runtime

Once the import is complete, the data resides in the staging area. Use the refresh command to move the database to its final location where the backend can read it.

./manage.sh refresh

6. Start Calyntro

Finally, launch the Calyntro backend, frontend, and gateway services.

./manage.sh up

You can now open your browser at http://localhost:8765 to explore your dashboard.


Update Process (Operation)

Once Calyntro is running, you will want to periodically update the analysis with the newest commits. The update process is designed to be non-blocking.

1. Incremental Import

Run the import command. The script will automatically detect the existing data, copy the current live database into the staging area, and only analyze the new commits.

./manage.sh import

2. Refresh Live Database

When the import finishes, execute the refresh command to atomically swap the newly updated staging database with the live database.

./manage.sh refresh

This script handles the backup of your old data, gracefully pauses the backend for a split second to release file locks, swaps the files, and resumes the service. Your users will barely notice the update.