Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor #8

Merged
merged 24 commits into from
Aug 2, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@ branches:
- develop

go:
- 1.5.2
- 1.5.4
- 1.6.3

script:
- $HOME/gopath/bin/goveralls

install:
- make get
- make get_dev
- go get github.com/mattn/goveralls
- go get github.com/go-playground/overalls
- go get -t ./...

script:
#- make check
- make test
- go test -v -race -cover ./...

after_script:
- make coverage
after_success:
- overalls -covermode=set -project=github.com/redBorder/rbforwarder
- go tool cover -func overalls.coverprofile
- goveralls -coverprofile=overalls.coverprofile -service=travis-ci
14 changes: 2 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,25 +25,15 @@ vet:

test:
@printf "$(MKL_YELLOW)Runing tests$(MKL_CLR_RESET)\n"
go test -cover ./...
go test -race ./...
@printf "$(MKL_GREEN)Test passed$(MKL_CLR_RESET)\n"

coverage:
@printf "$(MKL_YELLOW)Computing coverage$(MKL_CLR_RESET)\n"
@overalls -covermode=set -project=github.com/redBorder/rbforwarder
@go tool cover -func overalls.coverprofile
@goveralls -coverprofile=overalls.coverprofile -service=travis-ci
@rm -f overalls.coverprofile

get_dev:
@printf "$(MKL_YELLOW)Installing deps$(MKL_CLR_RESET)\n"
go get golang.org/x/tools/cmd/cover
go get github.com/kisielk/errcheck
go get github.com/stretchr/testify/assert
go get github.com/mattn/goveralls
go get github.com/axw/gocov/gocov
go get github.com/go-playground/overalls

get:
@printf "$(MKL_YELLOW)Installing deps$(MKL_CLR_RESET)\n"
go get -t ./...
go get -v ./...
78 changes: 0 additions & 78 deletions README.adoc

This file was deleted.

52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
![](https://img.shields.io/packagist/l/doctrine/orm.svg?maxAge=2592000)
[![](https://travis-ci.org/redBorder/rbforwarder.svg?branch=master)](https://travis-ci.org/redBorder/rbforwarder)
[![](https://goreportcard.com/badge/github.com/redBorder/rbforwarder)](https://goreportcard.com/report/github.com/redBorder/rbforwarder)
[![](https://coveralls.io/repos/github/redBorder/rbforwarder/badge.svg?branch=master)](https://coveralls.io/github/redBorder/rbforwarder?branch=master)
[![](https://godoc.org/github.com/redBorder/rbforwarder?status.svg)](https://godoc.org/github.com/redBorder/rbforwarder)

# rbforwarder

**rbforwarder** is an extensible, protocol agnostic and easy to use tool for
process data. It allows you to create a custom pipeline in a modular way.

For example, you can read data from a Kafka broker and use **rbforwarder** to
build a **pipeline** that decodes the JSON, filter or add some fields, encodes
the data again to JSON and send it using using multiple protocols HTTP, MQTT,
AMQP, etc. It's easy to write a **component** for the pipeline.

## Features

- Support for multiple workers for every **component**.
- Support **buffer pooling**, for fine-grained memory control.
- Asynchronous report system. Different gorutine for send and receive responses.
- Built-in retry. The **rbforwarder** can retry messages on fail.

## Components

- Send data to an endpoint
- MQTT
- HTTP
- Fast HTTP
- Kafka
- Decoders / Encoders
- JSON
- Utility
- Limiter
- Metrics

## Road Map

_The application is being on hard developing, breaking changes expected._

|Milestone | Feature | Status |
|----------|---------------------|-----------|
| 0.1 | Pipeline | _Testing_ |
| 0.2 | Reporter | _Testing_ |
| 0.3 | Limiter | _Testing_ |
| 0.4 | HTTP component | _Testing_ |
| 0.5 | MQTT component | _Pending_ |
| 0.6 | JSON component | _Pending_ |
| 0.7 | Kafka component | _Pending_ |
| 0.8 | Metrics component | _Pending_ |
| 0.9 | Benchmarks | _Pending_ |
| 1.0 | Stable | _Pending_ |
Loading