Metadata-Version: 2.1
Name: grimoirelab
Version: 0.2.32
Summary: Tool set for software development analytics
Home-page: https://github.com/chaoss/grimoirelab
Author: Bitergia
Author-email: jgb@bitergia.com
License: GPLv3
Keywords: development repositories analytics
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: grimoirelab (==0.2.32)
Requires-Dist: grimoirelab-toolkit (==0.1.10)
Requires-Dist: perceval (==0.12.24)
Requires-Dist: perceval-mozilla (==0.2.9)
Requires-Dist: perceval-opnfv (==0.1.16)
Requires-Dist: perceval-puppet (==0.1.15)
Requires-Dist: perceval-finos (==0.1.6)
Requires-Dist: kingarthur (==0.1.18)
Requires-Dist: grimoire-elk (==0.63.0)
Requires-Dist: sortinghat (==0.7.7)
Requires-Dist: kidash (==0.4.15)
Requires-Dist: grimoirelab-panels (==0.0.44)
Requires-Dist: manuscripts (==0.2.20)
Requires-Dist: sirmordred (==0.2.25)
Requires-Dist: cereslib (==0.1.8)
Requires-Dist: graal (==0.2.3)

GrimoireLab
===========

GrimoireLab is a `CHAOSS <https://chaoss.community>`__ toolset for
software development analytics. It includes a coordinated set of tools
to retrieve data from systems used to support software development
(repositories), store it in databases, enrich it by computing relevant
metrics, and making it easy to run analytics and visualizations on it.

You can learn more about GrimoireLab in the `GrimoireLab
tutorial <https://chaoss.github.io/grimoirelab-tutorial/>`__, or visit
the `GrimoireLab website <https://chaoss.github.io/grimoirelab>`__.

Getting started
===============

GrimoireLab is a set of tools, and to ease starting playing we are
providing a `default setup <default-grimoirelab-settings>`__ to analyze
git activity for this repository. Given such set up, there are several
options to run GrimoireLab:

Using ``docker-compose``
------------------------

Requirements: \* Software:\ `git <https://git-scm.com/>`__, `docker
client <https://docs.docker.com/install/>`__, and `docker
compose <https://docs.docker.com/compose/install/>`__. As an example of
working configuration:

.. code:: console

    root@test-68b8628f:~# git --version
    git version 2.17.1
    root@test-68b8628f:~# docker --version
    Docker version 19.03.1, build 74b1e89
    root@test-68b8628f:~# docker-compose --version
    docker-compose version 1.22.0, build f46880fe

-  Hardware: 2 CPUs, 8GB memory RAM and `enough virtual memory for
   Elasticsearch <https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html>`__

Steps: 1. Clone this project

.. code:: console

    foo@bar:~$ git clone https://github.com/chaoss/grimoirelab

2. Go to ``docker-compose`` folder and run the following command:

   .. code:: console

       foo@bar:~$ cd grimoirelab/docker-compose
       foo@bar:~/grimoirelab/docker-compose$ docker-compose up -d

Your dashboard will be ready after a while in ``https://localhost:5601``

More details in the `docker-compose
folder <./docker-compose/README.md>`__.

Using ``docker run``
--------------------

Requirements: \* Software: `git <https://git-scm.com/>`__, and `docker
client <https://docs.docker.com/install/>`__. As an example of working
configuration:

.. code:: console

    root@test-68b8628f:~# git --version
    git version 2.17.1
    root@test-68b8628f:~# docker --version
    Docker version 19.03.1, build 74b1e89

-  Hardware: 2 CPUs, 8GB memory RAM and set

Steps: 1. Clone this project

.. code:: console

    $ git clone https://github.com/chaoss/grimoirelab

2. Go to the project folder and run the following command:

   .. code:: console

       foo@bar:~$ cd grimoirelab
       foo@bar:~/grimoirelab $ docker run -p 127.0.0.1:5601:5601 \
       -v $(pwd)/default-grimoirelab-settings/projects.json:/projects.json \
       -v $(pwd)/default-grimoirelab-settings/setup.cfg:/setup.cfg \
       -t grimoirelab/full

More details in the `docker folder <./docker/README.md>`__.

Your dashboard will be ready after a while in ``http://localhost:5601``

GrimoireLab components
======================

Currently, GrimoireLab toolkit is organized in the following
repositories:

-  Data retrieval related components:
-  `Perceval <https://github.com/chaoss/grimoirelab-perceval>`__:
   retrieval of data from data sources

   -  `Perceval (bundle for
      OPNFV) <https://github.com/chaoss/grimoirelab-perceval-opnfv>`__
   -  `Perceval (bundle for
      Mozilla) <https://github.com/chaoss/grimoirelab-perceval-mozilla>`__
   -  `Perceval (bundle for
      Puppet) <https://github.com/chaoss/grimoirelab-perceval-puppet>`__
   -  `Perceval (bundle for
      FINOS) <https://github.com/Bitergia/grimoirelab-perceval-finos>`__

-  `Graal <https://github.com/chaoss/grimoirelab-graal>`__: source data
   analysis with external tools
-  `KingArthur <https://github.com/chaoss/grimoirelab-kingarthur>`__:
   batch processing for massive retrieval
-  Data enrichment related components:
-  `GrimoireElk <https://github.com/chaoss/grimoirelab-elk>`__: storage
   and enrichment of data
-  `SortingHat <https://github.com/chaoss/grimoirelab-sortinghat>`__:
   identity management
-  Data consumption related components:
-  `Kibiter <https://github.com/chaoss/grimoirelab-kibiter>`__:
   dashboard, downstream version of Kibana
-  `Sigils <https://github.com/chaoss/grimoirelab-sigils>`__:
   visualizations and dashboards
-  `Manuscripts <https://github.com/chaoss/grimoirelab-manuscripts>`__:
   reporting
-  Platform management, orchestration, and common utils:
-  `Mordred <https://github.com/chaoss/grimoirelab-mordred>`__:
   orchestration
-  `GrimoireLab
   Toolkit <https://github.com/chaoss/grimoirelab-toolkit>`__: common
   utilities
-  `Bestiary <https://github.com/chaoss/grimoirelab-bestiary>`__:
   web-based user interface to manage repositories and projects for
   Mordred
-  `Hatstall <https://github.com/chaoss/grimoirelab-hatstall>`__:
   web-based user interface to manage SortingHat identities

There are also some `components built by the GrimoreLab
community <community_components.md>`__, which can be useful for you.
Other related repositories are: \* `GrimoireLab
Tutorial <https://github.com/chaoss/grimoirelab-tutorial>`__ \*
`GrimoireLab as a whole <https://github.com/chaoss/grimoirelab>`__ (this
repository)

Contents of this repository
---------------------------

This repository is for stuff relevant to GrimoireLab as a whole. For
example:

-  Issues for new features or bug reports that affect more than one
   GrimoireLab module. In this case, let's open an issue here, and when
   implementing the fix or the feature, let´s comment about the specific
   tickets in the specific modules that are used. For example, when
   supporting a new datasource, we will need patches (at least) in
   ``Perceval``, ``GrimoireELK`` and panels. We would open here the
   feature request (or the user story) for the whole case, an issue (and
   later a pull request) in ``Perceval`` for the data retriever, same
   for ``GrimoireELK`` for the enriching code, and same for ``panels``
   for the Kibiter panels.

-  Information about "coordinated releases" for most of GrimoireLab
   components (directory `releases <releases>`__). Coordinated releases
   are snapshots (specific commits) of most of the GrimoireLab
   components that are expected to work together. See more information
   in the `releases README.md file <releases/README.md>`__.

-  Utils (directory `utils <utils>`__) for doing stuff relevant to
   GrimoireLab as a whole. Includes a script to produce Python packages
   for a coordinated release, etc.

-  Docker containers for showcasing GrimoireLab (directory
   `docker <docker>`__). Includes dockerfiles and configuration files
   for the GrimoireLab containers that can be used to demo the
   technology, and can be the basis for real deployments. See more
   information in the `docker README.md file <docker/README.md>`__.

-  If you feel more comfortable with ``docker-compose``, the
   `docker-compose <docker-compose>`__ folder includes instrucctions and
   configuration files to deploy GrimoireLab using ``docker-compose``
   command.

-  How releases of GrimoireLab are built and tested:
   `Building <BUILDING.md>`__


