Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.
apachePublic archive

About

Apache Kibble Scanners

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

16 stars

Watchers

10 watching

Forks

Latest commit

 

History

180 Commits

Folders and files

Kibble Scanner Application

The Kibble Scanners collect information for the Kibble Suite.

Setup instructions:

  • Edit conf/config.yaml to match your Kibble service

How to run:

  • On a daily/weekly/whatever basis, run: python3 src/kibble-scanner.py.

Command line options:

usage: kibble-scanner.py [-h] [-o ORG] [-f CONFIG] [-a AGE] [-s SOURCE]
                         [-n NODES] [-t TYPE] [-e EXCLUDE [EXCLUDE ...]]
                         [-v VIEW]

optional arguments:
  -h, --help            show this help message and exit
  -o ORG, --org ORG     The organisation to gather stats for. If left out, all
                        organisations will be scanned.
  -f CONFIG, --config CONFIG
                        Location of the yaml config file (full path)
  -a AGE, --age AGE     Minimum age in hours before performing a new scan on
                        an already processed source. --age 12 will not process
                        any source that was processed less than 12 hours ago,
                        but will process new sources.
  -s SOURCE, --source SOURCE
                        A specific source (wildcard) to run scans on.
  -n NODES, --nodes NODES
                        Number of nodes in the cluster (used for load
                        balancing)
  -t TYPE, --type TYPE  Specific type of scanner to run (default is run all
                        scanners)
  -e EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
                        Specific type of scanner(s) to exclude
  -v VIEW, --view VIEW  Specific source view to scan (default is scan all
                        sources)

Directory structure:

  • conf/: Config files
  • src/:
    • kibble-scanner.py: Main script for launching scans
    • plugins/:
      • brokers: The various database brokers (ES or JSON API)
      • utils: Utility libraries
      • scanners: The individual scanner applications

Currently available scanner plugins:

  • Apache Pony Mail (plugins/scanners/ponymail.py)
  • Atlassian JIRA (plugins/scanners/jira.py)
  • BugZilla Issue Tracker (plugins/scanners/bugzilla.py)
  • BuildBot (plugins/scanners/buildbot.py)
  • Discourse (plugins/scanners/discourse.py)
  • Gerrit Code Review (plugins/scanners/gerrit.py)
  • Git Repository Fetcher (plugins/scanners/git-sync.py)
  • Git Census Counter (plugins/scanners/git-census.py)
  • Git Code Evolution Counter (plugins/scanners/git-evolution.py)
  • Git SLoC Counter (plugins/scanners/git-sloc.py)
  • GitHub Issues/PRs (plugins/scanners/github.py)
  • GitHub Traffic Statistics (plugins/scanners/github-stats.py)
  • GNU Mailman Pipermail (plugins/scanners/pipermail.py)
  • Jenkins (plugins/scanners/jenkins.py)
  • Travis CI (plugins/scanners/travis.py)

Requirements:

  • cloc version 1.76 or later (optional)
  • git binaries
  • python3 (3.3 or later)
  • python3-elasticsearch
  • python3-certifi
  • python3-yaml

Get involved

TBD. Please see https://kibble.apache.org/ for details!

About

Apache Kibble Scanners

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

16 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages