Giter Club home page Giter Club logo

eiffel-event-repository's Introduction

Eiffel Event Repository

Sandbox badge

Eiffel Event Repository

The Eiffel Event Repository provides a queryable persistence solution for Eiffel events. It stores all events it is exposed to, and exposes a REST API through which events may be queried and their links traversed. Event persistence is a keystone capability in any implementation of the Eiffel protocol, allowing clients to not only parse events in real time, but also to query a historical record of past events.

About this repository

The contents of this repository are licensed under the Apache License 2.0.

To get involved, please see Code of Conduct and contribution guidelines.

About Eiffel

This repository forms part of the Eiffel Community. Eiffel is a protocol for technology agnostic machine-to-machine communication in continuous integration and delivery pipelines, aimed at securing scalability, flexibility and traceability. Eiffel is based on the concept of decentralized real time messaging, both to drive the continuous integration and delivery system and to document it.

Visit Eiffel Community to get started and get involved.

eiffel-event-repository's People

Contributors

d-stahl-ericsson avatar e-pettersson-ericsson avatar fdegir avatar henning-roos avatar m-linner-ericsson avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

eiffel-event-repository's Issues

Eiffel Event-Repository will soon be open-sourced

Description

Ericsson company and the Ericsson Eiffel Team is open-sourcing Eiffel Event-Repository application and the source code will soon be uploaded to this GitHub git repository.

We are currently finalizing and preparing Eiffel Event-Repository source code so it can be open-sourced and added to this git repository.

Say hello and welcome to Eiffel-ER into the Eiffel-Community by adding a comment in comments field below this issue :)

Issues/Tasks will be added continuously in the issue tab to make all info and discussions available in the Eiffel-community and so others can participate in the discussions and contribute to Eiffel-ER application.

This issue will be closed when ER has been open-sourced and added to this GitHub project.

Motivation

Exemplification

Benefits

Possible Drawbacks

Publish documentation to gh-pages?

Description

How should we publish documentation to gh-pages?
Today in Eiffel-Intelligence we convert markdown documentation to html files with the 'mvn site' command.
The issue with that is relative paths in markdown format do not work in html format after format conversions. One work around is to use full paths links to the master branch version of the markdown file. This is not good from a PR:s view , where it should point out PR version of the documentation and not the master branch verison of the specific documentation link/markdown file.

Investigate if this can improved for the Eiffel-ER gh-pages documentation.

Motivation

Exemplification

Benefits

Possible Drawbacks

Add Codacy for code style check

Description

Align with Eiffel Intelligence back-end and add Codacy to check for code style violations in pull requests, and view test coverage.

There is an issue in the community repository about using one tool for code style checks in Eiffel community repositories.

Motivation

Easy to spot violations on code standards in new pull requests. The code coverage reports can give us statistics on in which areas we might need to improve our tests of the component.

Exemplification

See previous implementation (and tutorial) done in Eiffel Intelligence back-end

Benefits

Easier reviewing process without wasting time on minor mistakes which could be easily detected automatically.

Possible Drawbacks

Publish Docker image and document its use

Description

While it appears the source code release has been postponed for quite some time, Ericsson folks at the Eiffel summit in November 2019 said that there was a Docker image available for use (eiffelericsson/eiffel-er). There is, however, no documentation about how it's supposed to be used. Does it have any dependencies? How is it configured?

Motivation

An event repository is essential to just about any Eiffel implementation. If there's an ER implementation available it would be useful to the community even if the source code isn't available, but an undocumented Docker image isn't very useful to anyone.

Benefits

A basic ER would make it easier for organizations to pick up Eiffel and would discourage unnecessary proliferation of multiple tools for this basic need.

Create Travis-CI file and release to Jitpack

Description

Create Travis-CI file for executing Unit and Functional tests for PRs and Post merges.
When new Github release is made, Eiffel-ER should be release to Jitpack.

Unit tests executed with command:
'mvn test'

Functional tests executed with command:
'mvn verify'

Motivation

We need to continuosly execute tests and release new Eiffel-ER versions to Jitpack.

Exemplification

Benefits

Possible Drawbacks

Structure markdown documentation from README.md as entrypoint.

Description

Eiffel-ER documentation is not well structured for GitHub README markdown file.
Update documentation structure so the structure is good and it becomes easy for the user to find specific documentation.

Motivation

Exemplification

Benefits

Good documentation structure which simplifies to find specific information.

Possible Drawbacks

Finalize the implementation around ArangoDb and ElasticSearch

Description

Finalize the implementation around ArangoDb and Elasticsearch as database storage.
More info to be updated.

Write documentation about how to use ArangoDb and Elasticsearch as storage.

Motivation

Exemplification

Benefits

Possible Drawbacks

Enabling secure communication TLS for rabbitmq

Description

Currently, we are using eiffel repository through the docker image eiffel-er:2.0.36. We want to configure the event repository to use secure communication over TLS when consuming events from RabbitMq. We have the TSL port 5671 configured in rabbitmq. For other eiffel components, such as eiffel-intelligence(backend), it has been possible to enable rabbitmq TLS communication, simply just by setting the following environment variables:

rabbitmq.tls.version=TLSv1.2
rabbitmq.port=5671

However, this does not seems to have any effect on the eiffel-event-repository component as it fails to connect to the rabbitmq broker with the following error:

2022-12-12 09:28:15.761 ERROR 6 --- [ost-startStop-1] c.e.e.m.consumer.MessageBusBinder : Eiffel/MessageBusBinder: Exception creating connection to Message Bus IOException:
2022-12-12 09:28:15.762 ERROR 6 --- [ost-startStop-1] c.e.e.rmq.consumer.RmqConnectionHandler : java.lang.IllegalArgumentException: The connection must not be null!connection to message bus amqp://:5671 failed

We suspect the component contains some configuration that tries to connect with amqp instead of amqps. As it is not open-sourced yet we, would appreciate some more information on how to set up the secure connection to the broker properly.

Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.