Skip to content
This repository has been archived by the owner on Jun 23, 2023. It is now read-only.

Version 0.1.0

Compare
Choose a tag to compare
@tealeg tealeg released this 13 Nov 14:28
· 134 commits to master since this release

Felice 0.1.0

What is Felice?

Felice is an opinionated library for producing and consuming messages on Kafka. It wraps Shopify's Sarama library and simplifies it somewhat.

What is in release 0.1.0 ?

The 0.1.0 release is intended to match the functionality of the internal Kafka library that is used within Heetch. Felice differs from that library in the following ways:

  • Felice is issued under an Open Source license (MIT) . Yay! 🎉 🎈 🎆
  • Code and configuration specific to Heetch's infrastructure and architecture has been removed.

Today you can use a Producer to send messages on kafka topics, and use a Consumer and Handler to consume them.

Full changelog

2018-11-13 Geoffrey John Teale [email protected]

* : Merge pull request #19 from heetch/bootstap-documentation Bootstrap documentation

2018-11-13 Geoffrey John Teale [email protected]

* consumer/consumer.go: Improve the docs for Consumer.Serve

2018-11-13 Geoffrey John Teale [email protected]

* consumer/consumer.go: Expand in-line docs for Consumer struct

2018-11-13 Geoffrey John Teale [email protected]

* consumer/doc.go: Expand docs on Consumer.Serve to explain
parameters.

2018-11-12 Geoffrey John Teale [email protected]

* README.md: Add a "Where should I start?" section to README.md

2018-11-12 Geoffrey John Teale [email protected]

* consumer/doc.go: Add package level documentation for the Consumer.

2018-11-12 Geoffrey John Teale [email protected]

* : commit 86503274503d31ef29cd17f06e012829936e220d Author: Geoffrey
J. Teale <[email protected]> Date:   Wed Oct 24 16:31:30 2018 +0200

2018-10-24 Geoffrey J. Teale [email protected]

* message/option.go: Fix typo "paramters" -> "parameters"

2018-10-24 Geoffrey J. Teale [email protected]

* message/doc.go, message/message.go: Document default message
headers.

2018-10-24 Geoffrey J. Teale [email protected]

* message/message.go: Insert missing "it".

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Make example handlers have the correct
signature.

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/handler/interface.go: Document behaviour when
HandleMessage returns an error.

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/doc.go, consumer/handler/collection.go,
consumer/handler/doc.go, consumer/handler/interface.go,
message/doc.go, message/message.go, message/option.go: Remove double
spaces after periods.

2018-10-24 Asdine El Hrychy [email protected]

* consumer/handler/doc.go: Fix typo "conusmer" -> "consumer" Co-Authored-By: tealeg <[email protected]>

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/doc.go, consumer/handler/doc.go,
consumer/handler/interface.go, message/doc.go, message/message.go,
message/option.go: Fix typo "recieve" -> "receive"

2018-10-22 Geoffrey J. Teale [email protected]

* message/message.go: Improve documentation of the Mesasge type

2018-10-22 Geoffrey J. Teale [email protected]

* message/doc.go: Introduce the message package.

2018-10-22 Geoffrey J. Teale [email protected]

* message/option.go: Document Option, Header and Key more completely

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/interface.go: Improve documentation of Handler
interface

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/func.go: Flesh out the HandlerFunc documentation.

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Describe handler.Collection type in
package overview documentation

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/doc.go: Fix typo in comment.

2018-10-19 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Introduce the handler package and discuss
Handler interface

2018-10-18 Geoffrey J. Teale [email protected]

* consumer/doc.go: Add initial doc.go for the, as yet, empty
consumer package.

2018-11-07 Geoffrey John Teale [email protected]

* : Merge pull request #20 from heetch/support-logging Support logging

2018-11-06 Geoffrey John Teale [email protected]

* consumer/consumer.go: Remove commented code

2018-11-05 Geoffrey J. Teale [email protected]

* common/logger.go, common/testutil.go, consumer/consumer.go,
consumer/consumer_internal_test.go, consumer/consumer_test.go,
consumer/handler/collection.go: Simplify logging and log testing

2018-11-05 Geoffrey J. Teale [email protected]

* consumer/consumer.go, consumer/consumer_internal_test.go: Make
NewConsumer private (newConsumer)

2018-11-05 Geoffrey J. Teale [email protected]

* Gopkg.lock, consumer/consumer.go,
consumer/consumer_internal_test.go, consumer/consumer_test.go: Make
ClusterConsumer interface private (clusterConsumer)

2018-11-05 Geoffrey J. Teale [email protected]

* consumer/consumer.go: Remove ClusterConsumer type.

2018-11-02 Geoffrey John Teale [email protected]

* consumer/consumer.go: Log in consumer message handling

2018-11-02 Geoffrey John Teale [email protected]

* consumer/consumer_internal_test.go: Make assertions about logging
in handleMessages

2018-11-02 Geoffrey John Teale [email protected]

* consumer/consumer.go: Make Consumer testable by wrapping
cluster.Consumer in an interface

2018-11-02 Geoffrey John Teale [email protected]

* consumer/consumer_test.go: Use common.Testlogger instead of
defining locally

2018-11-02 Geoffrey John Teale [email protected]

* common/testutil.go: Create TestLogger to simply testing log output

2018-11-01 Geoffrey John Teale [email protected]

* consumer/consumer.go: Make Consumer.Handler and Consumer.Serve
emit expected logs

2018-11-01 Geoffrey John Teale [email protected]

* consumer/consumer_test.go: Test that consumer.Handle and
consumer.Serve emit logs

2018-11-01 Geoffrey John Teale [email protected]

* Gopkg.lock: Update Gopkg.lock

2018-10-30 Geoffrey John Teale [email protected]

* consumer/handler/collection.go: Make consumer.Handle log the topic
being registered

2018-10-30 Geoffrey John Teale [email protected]

* consumer/consumer_test.go: Test that Consumer.Handle logs

2018-10-30 Geoffrey John Teale [email protected]

* common/logger.go: Add common.Logger

2018-10-29 Yasss [email protected]

* : Merge pull request #18 from heetch/import-consumer Import consumer from Kafka-go

2018-10-29 Yasss [email protected]

* consumer/consumer.go, consumer/consumer_internal_test.go: Export
metrics field from Consumer type

2018-10-24 Geoffrey J. Teale [email protected]

* message/option.go: Fix typo "ths" → "this"

2018-10-24 Geoffrey J. Teale [email protected]

* message/option.go: Fix typo "paramters" -> "parameters"

2018-10-24 Geoffrey J. Teale [email protected]

* message/doc.go, message/message.go: Document default message
headers.

2018-10-24 Geoffrey J. Teale [email protected]

* message/message.go: Insert missing "it".

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Make example handlers have the correct
signature.

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/handler/interface.go: Document behaviour when
HandleMessage returns an error.

2018-10-24 Geoffrey J. Teale [email protected]

* : commit a83b1b30719c0bf55676109bedf20416f686c230 Author: Geoffrey
J. Teale <[email protected]> Date:   Wed Oct 24 15:26:03 2018 +0200

2018-10-24 Asdine El Hrychy [email protected]

* consumer/handler/doc.go: Fix typo "conusmer" -> "consumer" Co-Authored-By: tealeg <[email protected]>

2018-10-24 Geoffrey J. Teale [email protected]

* consumer/doc.go, consumer/handler/doc.go,
consumer/handler/interface.go, message/doc.go, message/message.go,
message/option.go: Fix typo "recieve" -> "receive"

2018-10-22 Geoffrey J. Teale [email protected]

* message/message.go: Improve documentation of the Mesasge type

2018-10-22 Geoffrey J. Teale [email protected]

* message/doc.go: Introduce the message package.

2018-10-22 Geoffrey J. Teale [email protected]

* message/option.go: Document Option, Header and Key more completely

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/interface.go: Improve documentation of Handler
interface

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/func.go: Flesh out the HandlerFunc documentation.

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Describe handler.Collection type in
package overview documentation

2018-10-22 Geoffrey J. Teale [email protected]

* consumer/doc.go: Fix typo in comment.

2018-10-19 Yasss [email protected]

* consumer/consumer.go: Add Stop method

2018-10-19 Geoffrey J. Teale [email protected]

* consumer/handler/doc.go: Introduce the handler package and discuss
Handler interface

2018-10-18 Yasss [email protected]

* consumer/consumer.go, consumer/consumer_internal_test.go: Add
testing for the configuration creation

2018-10-18 Geoffrey J. Teale [email protected]

* consumer/doc.go: Add initial doc.go for the, as yet, empty
consumer package.

2018-10-17 Geoffrey J. Teale [email protected]

* consumer/consumer_internal_test.go: Test Consumer.setup

2018-10-17 Geoffrey J. Teale [email protected]

* consumer/consumer_internal_test.go: Document test cases.

2018-10-17 Geoffrey J. Teale [email protected]

* consumer/consumer_internal_test.go: Expand tests to include metric
reporting

2018-10-16 Geoffrey J. Teale [email protected]

* consumer/consumer_internal_test.go: Make assertions about Message
passed to the metric Reporter

2018-10-16 Geoffrey J. Teale [email protected]

* consumer/consumer_internal_test.go: Test metrics reporting from
handleMessages.

2018-10-16 Yasss [email protected]

* consumer/consumer_internal_test.go: Improve testing! part.2

2018-10-16 Yasss [email protected]

* consumer/consumer_internal_test.go: Improve testing!

2018-10-16 Yasss [email protected]

* consumer/consumer.go, consumer/consumer_internal_test.go: Add
messages and partitions handling + minor test

2018-10-15 Yasss [email protected]

* consumer/consumer.go, consumer/consumer_internal_test.go: Add
Handle method

2018-10-15 Yasss [email protected]

* Gopkg.lock, Gopkg.toml, consumer/consumer.go: Create Consumer type

2018-10-12 Geoffrey John Teale [email protected]

* : Merge pull request #14 from heetch/migrate-handlers-collection handler: Migrate handlers collection

2018-10-12 Yasss [email protected]

* producer/producer.go: Fix typo

2018-10-12 Geoffrey J. Teale [email protected]

* consumer/handler/collection.go: Remove logger.

2018-10-12 Yasss [email protected]

* producer/producer.go, producer/producer_test.go: Return the
created message from Send method

2018-10-11 Yasss [email protected]

* message/message_test.go: Use require.EqualError

2018-10-11 Yasss [email protected]

* Gopkg.lock, Gopkg.toml: Add sarama dependency

2018-10-11 Yasss [email protected]

* producer/producer.go, producer/producer_test.go: Add Producer type
+ Send* methods + improve testing

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection.go: Implement Collection, derived from
on kafka-go's Handlers struct

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: Add multiple topic test case

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: Test that a single topic in a
collection is returned from Topics().

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: Test that an empty Collection
returns an empty Topic list

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: Add test for the case where
we overwrite an association.

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: Test the "Happy case" of Get
/ Set on a single topic

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection_test.go: A tests for degeneration case
of Collection.Set / Collection.Get

2018-10-11 Geoffrey J. Teale [email protected]

* consumer/handler/collection.go: Check-in ahead of rebase

2018-10-11 Geoffrey John Teale [email protected]

* : Merge pull request #11 from heetch/migrate-consumer-handler consumer/handler: Migrate Handler and HandlerFunc from kafka-go

2018-10-10 Geoffrey J. Teale [email protected]

* consumer/handler/func.go: Drop HandlerFunc function and rename
HandleMessageFn to HandlerFunc

2018-10-10 Geoffrey John Teale [email protected]

* : Merge pull request #7 from heetch/travis-ci-setup Travis ci setup

2018-10-10 Geoffrey J. Teale [email protected]

* consumer/handler/func_test.go: Test that the new HandleMessageFn
type can be used as a Handler

2018-10-10 Geoffrey J. Teale [email protected]

* Gopkg.lock: Introduce testify to Gopkg.lock

2018-10-10 Geoffrey J. Teale [email protected]

* consumer/handler/interface.go: Migrate Handler interface from
kafka-go

2018-10-10 Geoffrey J. Teale [email protected]

* .travis.yml: Explicitly use coverprofile=fmt in test execution

2018-10-10 Geoffrey J. Teale [email protected]

* .travis.yml: Do CI with Felice on go 1.10.x

2018-10-10 Geoffrey J. Teale [email protected]

* README.md: Make logo URI refer to master, so we can kill this
branch later

2018-10-09 Geoffrey John Teale [email protected]

* : Merge pull request #4 from heetch/migrate-message-to-felice message: Migrate message to felice from kafka-go

2018-10-09 Geoffrey J. Teale [email protected]

* README.md: Small tidy on the README.md

2018-10-09 Geoffrey J. Teale [email protected]

* README.md: Use PNG refence for logo.

2018-10-09 Geoffrey J. Teale [email protected]

* README.md: Add felice logo ;-)

2018-10-09 Geoffrey J. Teale [email protected]

* README.md: Add travis CI build status badge to README.md.

2018-10-09 Geoffrey J. Teale [email protected]

* LICENSE: Apply the MIT license This PR applies the MIT license to Felice in the form of a LICENSE
file.

2018-10-09 Geoffrey J. Teale [email protected]

* : commit 3dfd5f1c7aef8275060d7b9ac4bf2b292c30200c Author: Geoffrey
J. Teale <[email protected]> Date:   Tue Oct 9 10:38:54 2018 +0200

2018-10-09 Geoffrey J. Teale [email protected]

* .travis.yml: Initiate .travis.yml.

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Test that message.New applies Options
that are provided

2018-10-08 Geoffrey J. Teale [email protected]

* message/option_test.go: Test that Key returns a function that will
set a Message key

2018-10-08 Geoffrey J. Teale [email protected]

* message/option_test.go: Test that Header returns a function that
can set a Message header

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Test that message.New works in the
"happy" case.

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Test that message.New returns an error
for values that won't marshal

2018-10-08 Geoffrey J. Teale [email protected]

* message/message.go: Make message.New return an error when the
topic is empty

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Test that message.New returns an error
when the topic is empty

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Flesh-out test for the minimum possible
Message

2018-10-08 Geoffrey J. Teale [email protected]

* message/message.go, message/option.go: Define Message type and New
constructor for Message.

2018-10-08 Geoffrey J. Teale [email protected]

* message/message_test.go: Test that we can create a new Message.

2018-10-08 Geoffrey J. Teale [email protected]

* .gitignore: Add .gitignore file.

2018-10-08 Geoffrey J. Teale [email protected]

* Gopkg.lock, Gopkg.toml: Initial dep definition of dependencies.

2018-10-02 Geoffrey John Teale [email protected]

* README.md: Fix typo: opionated -> opinionated.

2018-10-02 Geoffrey John Teale [email protected]

* : Merge pull request #2 from
heetch/expand-readme-for-a-wider-audience Add a little more explanation to the README.md

2018-10-02 Yasss [email protected]

* Initial commit