Skip to content

cereebro/cereebro

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.

Build status

Cereebro

The goal of Cereebro is to automate the documentation of relationships between components in a distributed system.

See a Cereebro demo live.

Why

When building a distributed system, it quickly becomes hard to keep track of components and their dependencies.
Writing architecture documents and drawing diagrams is cool, but these pieces of art eventually get obsolete after a few time. Keeping software documentation up-to-date is an ageless problem.
Project Cereebro answers it by generating a map of a system at runtime :

  • by simply adding the Cereebro Snitch Spring Boot starter, the context of each application is analyzed to detect its relationships with other components, providing a fragment of the whole system
  • the Cereebro server resolves the fragments from every Snitch to reconstitute the big picture

The name Cereebro is inspired by the X-Men's Cerebro device, which allows its user to locate mutants accross the world.

We named it cereebro because :

Getting Started

Get started with Cereebro, Spring Cloud Netflix and the Eureka Server.

Learn more in the project documentation.

Check out our samples and see them running.

Continuous Integration

Code Conventions

Java :

  • eclipse formatter : "Java conventions with spaces" (we don't know about IntelliJ)
  • line width : 120
  • indent using spaces only
  • auto-format all the things
  • Use off/on tags to keep the formatter off sections that need specific formatting (like builders)
  • test all the things

XML :

  • indent using 4 spaces
  • line width : 120

License

Cereebro is Open Source software released under the Apache 2.0 license.

About

Automate the documentation of relationships between components in a distributed system

Resources

License

Stars

Watchers

Forks

Packages

No packages published