-
Notifications
You must be signed in to change notification settings - Fork 672
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
MF - 1416 - Queue Abstraction for Mainflux & RabbitMQ Support #1562
Conversation
@0x6f736f646f CI is failing. I restarted it, but there seems to be a problem with rabbitmq tests. |
Working to resolve the issue |
pkg/messaging/rabbitmq/pubsub.go
Outdated
@@ -77,7 +77,7 @@ func NewPubSub(url string, logger log.Logger) (PubSub, error) { | |||
channel: ch, | |||
logger: logger, | |||
subscriptions: make(map[string]bool), | |||
done: make(chan error), | |||
done: make(chan bool), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like the indentation is worng here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved
pkg/messaging/rabbitmq/pubsub.go
Outdated
done <- nil | ||
} | ||
<- done | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
new line at the end of the file please
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved
Codecov Report
@@ Coverage Diff @@
## master #1562 +/- ##
==========================================
+ Coverage 68.93% 69.01% +0.07%
==========================================
Files 136 138 +2
Lines 11058 11169 +111
==========================================
+ Hits 7623 7708 +85
- Misses 2788 2796 +8
- Partials 647 665 +18
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
pkg/messaging/rabbitmq/doc.go
Outdated
// Copyright (c) Mainflux | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
// Package rabbitmq hold the implementation of the Publisher and PubSub |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...holds the implementation....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
pkg/messaging/rabbitmq/pubsub.go
Outdated
ChansPrefix = "channels" | ||
SubjectAllChannels = "channels.>" | ||
RoutingKey = "application specific routing key for fancy topologies" | ||
Exchange = "mainflux" | ||
ExchangeKind = "fanout" | ||
QueueDurability = true | ||
QueueDelete = false | ||
QueueExclusivity = false | ||
QueueWait = false | ||
ConsumerTag = "mainflux-consumer" | ||
Mandatory = false | ||
Immediate = false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any reason these constants are exported?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason. I am changing that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
pkg/messaging/rabbitmq/pubsub.go
Outdated
const ( | ||
ChansPrefix = "channels" | ||
SubjectAllChannels = "channels.>" | ||
RoutingKey = "application specific routing key for fancy topologies" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change the value of the routingKey
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
pkg/messaging/rabbitmq/pubsub.go
Outdated
var wg sync.WaitGroup | ||
wg.Add(1) | ||
go func() { | ||
ps.handle(msgs, handler) | ||
wg.Done() | ||
}() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no wg.Wait
. What's the purpose of this WaitGroup?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the waitgroup. The wait command was blocking
pkg/messaging/rabbitmq/pubsub.go
Outdated
queue amqp.Queue | ||
channel *amqp.Channel | ||
subscriptions map[string]bool | ||
done chan bool |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What for, what's the purpose of the done
channel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When we finish processing messages from the delivery channel we send a nil value
pkg/messaging/rabbitmq/pubsub.go
Outdated
wg.Done() | ||
}() | ||
|
||
ps.subscriptions[topic] = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this map be protected for concurrent read/write?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Usually by using a mutex.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
pkg/messaging/rabbitmq/pubsub.go
Outdated
return ret, nil | ||
} | ||
|
||
func (ps *pubsub) Publish(topic string, msg messaging.Message) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no need to reimplement this in pubsub
, you can use the implementation from the publisher.go
:
type pubsub struct {
publisher
logger log.Logger
queue amqp.Queue
subscriptions map[string]bool
mutex sync.Mutex
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am getting this error panic: runtime error: invalid memory address or nil pointer dereferenc
. I have resorted to another approach
pkg/messaging/rabbitmq/publisher.go
Outdated
connection *amqp.Connection | ||
channel *amqp.Channel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is rather a simple struct, consider using conn
and ch
instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
pkg/messaging/rabbitmq/pubsub.go
Outdated
if err := ps.channel.QueueBind(ps.queue.Name, routingKey, subject, false, nil); err != nil { | ||
return err | ||
} | ||
msgs, err := ps.channel.Consume(ps.queue.Name, "", true, false, false, false, nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it OK to have an empty string for a consumer here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An empty string will cause the library to generate a unique identity for each consumer. Since we have no way to id the subscriber, I think that is the best fit for now.
pkg/messaging/rabbitmq/pubsub.go
Outdated
} | ||
|
||
func (ps *pubsub) Unsubscribe(topic string) error { | ||
defer ps.channel.Cancel("", false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does canceling for an empty consumer work? Did you test subscribing with multiple consumers and canceling one of them (add that in test cases, as well)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initially, I thought it would generate the id for the exact consumer but after going through the code it doesn't as referenced here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we do a ps.ch.close()
we close the whole channel so we can't subscribe to it. The best solution to this is if we are able to generate UUID so as to id the consumers so we can cancel the respective consumers. The current implementation works fine.
data = []byte("payload") | ||
) | ||
|
||
func TestPubsub(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you take publisher implementation from publisher.go
that's already tested in publisher_test.go
, you can have only Subscriber
(with Subscribe
and Unsubscribe
) methods tested here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implemented
) | ||
|
||
func TestPubsub(t *testing.T) { | ||
pubsubcases := []struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typos: sub topic
-> subtopic
and Unsusbcribe
-> Unsubscribe
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -36,7 +36,7 @@ type PubSub interface { | |||
} | |||
|
|||
type pubsub struct { | |||
conn *broker.Conn | |||
publisher |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs variable name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pkg/messaging/nats/pubsub.go
Outdated
@@ -42,7 +42,7 @@ type subscription struct { | |||
} | |||
|
|||
type pubsub struct { | |||
conn *broker.Conn | |||
publisher publisher |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of having a publisher
field, consider using a composition of publisher
like:
type pubsub struct {
publisher
logger log.Logger
mu sync.Mutex
queue string
subscriptions map[string]map[string]subscription
}
This will enable using ps.conn
rather than ps.publisher.conn
later on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is what we had initially but @drasko had suggested with name it.
I will stick with the earlier changes we had.
pkg/messaging/rabbitmq/publisher.go
Outdated
immediate, | ||
amqp.Publishing{ | ||
Headers: amqp.Table{}, | ||
ContentType: "text/plain", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this type correct? Since our message is binary, it looks like application/octet-stream
is more suitable for us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes application/octet-stream
is more suitable
pkg/messaging/rabbitmq/pubsub.go
Outdated
SubjectAllChannels = "channels.>" | ||
routingKey = "mainfluxkey" | ||
exchange = "mainflux" | ||
exchangeKind = "fanout" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you consider using topic
kind? In that case, we have a queue per channel and the subtopic could be the routing key. This will have an impact on both publisher and subscriber implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. That will be a good approach but it poses come challenges because when we do a subscribe the topic preprocessing is done by the client compared to how it is implemented on the publish method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand that we'll have to disassemble the topic we created before calling Publish/Subscribe methods, but it's worth trying it because topic manipulation is rather simple. Of course, queue manipulation is also something to take care of (creating a queue if it doesn't exist and removing it if there are no messages and subscribers left). I'm only afraid this topic processing is going to be too cryptic - using the first part of the topic as a queue (name), and the rest as a subtopic (routingKey).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From this reference we need to have multiple queues. The current implementation I have pushed is that we have direct exchange rather than topic exchange as direct is faster than topic exchange. We will have a queue per subscription.
Another way to implement it is to have queues based on services such as a coap queue and an MQTT queue. But this makes us not have many queues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overview
RabbitMQ is somehow different to Nats and Kafka in that when a publisher is publishing a message on a topic they will publish the message to an exchange. The message will be published with a routing key. This routing key will direct the message to the different queues onto which the subscriber will consume the message. This is how the message flows
publisher -> exchange -> routingkey -> queue -> consumer -> subscriber
The publisher publishes the message to the broker.
The exchange receives the message being published and uses the routing key to route the message to a specific queue
The routing key is used to route the message to a specific queue
The queue temporarily stores messages for the consumer before consuming them
Exchange
When the exchange is declared we declare it with a specific kind. This means an exchange can either route messages based on topic, directly to queues or using message headers among other methods. We will be interested in the three routing techniques. The number of bindings increases the performance of topic routing. Fanout exchanges are very fast because there is no routing to process, but this changes if they are bound to a large number of queues. Direct exchanges are faster than topic exchanges if you don't need the wild card. We picked direct method as it strikes a balance between performance and reliability.
Possible implementations
One exchange one queue
- If you only have one queue, you'll end up repeating the logic of deciding which code should process the message, when RabbitMQ can do it for you with routing.
- RabbitMQ prefers many queues over a single large one
- This option is ruled out
One exchange multiple queues
- This is the most viable solution currently
- This is because we will have single consumers on one queue
- The advantage of a single topic exchange is that you get the benefits of both a Direct Exchange and a Fanout Exchange depending on the binding key used.
- Further, configuration changes are easy to achieve and can often be done without disrupting any system processing at all
Multiple exchanges one queue
- This option is ruled out based on having a single queue
Multiple exchanges multiple queues
- This is the most preferred way of doing it as the system is highly decoupled.
- If we cross the boundary and have many exchanges and many queues we are at the risk of the processes taking up more memory which may be significant but this really depends
- If the
msg.channel
is not provided the message won't be consumed as we can subscribe to an empty topic
Wayforward
- Currently, we have implemented Direct as the exchange type. So if a consumer needs to subscribe to multiple topics we would change this implementation to the exchange having topic as the exchange type
- We have not explored exchange-to-exchange architectures
For more reference check out this article
pkg/messaging/nats/pubsub_test.go
Outdated
@@ -189,7 +189,7 @@ func TestPubsub(t *testing.T) { | |||
desc: "Susbcribe to a topic with empty id", | |||
topic: fmt.Sprintf("%s.%s", chansPrefix, topic), | |||
topicID: "", | |||
errorMessage: errors.New("empty ID"), | |||
errorMessage: errors.New("empty id"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd create errors in a package for nats and rabbitmq and use them in the code and tests
pkg/messaging/rabbitmq/publisher.go
Outdated
Headers: amqp.Table{}, | ||
ContentType: "application/octet-stream", | ||
AppId: "mainflux-publisher", | ||
Body: []byte(data), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need to cast, data is already []byte
.
pubsub: false, | ||
}, | ||
{ | ||
desc: "Susbcribe to a topic with a subtopic with an ID", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo Susbcribe
. Check for other typos as well.
pkg/messaging/rabbitmq/pubsub.go
Outdated
} | ||
type pubsub struct { | ||
publisher | ||
queue string |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the purpose of this and is it even used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not being used
pkg/messaging/rabbitmq/pubsub.go
Outdated
if err != nil { | ||
return err | ||
} | ||
if err := ps.ch.QueueBind(queue.Name, queue.Name, exchangeName, false, nil); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it safer to use topic instead of queue.Name
? Is it possible that the broker will change the name passed in QueueDeclare?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The broker doesn't change the passed name
pkg/messaging/rabbitmq/pubsub.go
Outdated
// SubjectAllChannels represents subject to subscribe for all the channels. | ||
SubjectAllChannels = "channels.>" | ||
exchangeName = "mainflux-exchange" | ||
exchangeKind = "direct" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exchangeKind no. The others yes.
pkg/messaging/rabbitmq/pubsub.go
Outdated
} | ||
|
||
func (ps *pubsub) Unsubscribe(id, topic string) error { | ||
defer ps.ch.Cancel(id, false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we really cancel unconditionally?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the docs, this is what it says about the Cancel method
Only use this method to cleanly stop receiving deliveries from the server and cleanly shut down the consumer chan identified by this tag. Using this method and waiting for the remaining messages to flush from the consumer chan will ensure all messages received on the network will be delivered to the receiver of your consumer chan.
I believe this is what we want to achieve
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are, but we should first handle the internal logic, then try to cancel and handle the potential errors. What happens if we have the same consumer subscribed to multiple topics? Does it cancel them all (because it's the same consumer ID)?
For example, a nice solution would be to put this in the cancel
method of subscriber
when you subscribe, so that you don't even call it explicitly when unsubscribing. Something like:
s[id] = subscription{
cancel: func() error {
if err := ps.ch.Cancel(id, false); err != nil {
return err
}
return handler.Cancel()
},
}
* MF-1263 - Mv duplicated errors to pkg/errors Signed-off-by: Manuel Imperiale <[email protected]> * Revert test build flags Signed-off-by: Manuel Imperiale <[email protected]> * Fix merge Signed-off-by: Manuel Imperiale <[email protected]> * Fix comment Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
* NOISSUE - Fix auth members list response Signed-off-by: Manuel Imperiale <[email protected]> * Move group type next to page details Signed-off-by: Manuel Imperiale <[email protected]> * Rm membersRes Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
…thz (absmach#1538) * MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz Signed-off-by: Manuel Imperiale <[email protected]> * ErrExternalKey typo Signed-off-by: Manuel Imperiale <[email protected]> * Rename ErrUnauthorizedAcces -> ErrAuthentication Signed-off-by: Manuel Imperiale <[email protected]> * Fix bootstrap error Signed-off-by: Manuel Imperiale <[email protected]> * Fix status code in openapi Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Add errors cases Signed-off-by: Manuel Imperiale <[email protected]> * Fix status codes Signed-off-by: Manuel Imperiale <[email protected]> * Add gRPC stutus code Signed-off-by: Manuel Imperiale <[email protected]> * Fix tests description Signed-off-by: Manuel Imperiale <[email protected]> * Fix openapi and encodeError Signed-off-by: Manuel Imperiale <[email protected]> * Fix grpc message Signed-off-by: Manuel Imperiale <[email protected]> * Fix test descriptions Signed-off-by: Manuel Imperiale <[email protected]> * Revert sdk error Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
* Use gomail package for sending emails Signed-off-by: Ivan Milosevic <[email protected]> * remove print err Signed-off-by: Ivan Milosevic <[email protected]> * Add vendor Signed-off-by: Ivan Milosevic <[email protected]> * Rename email structure remove logger Signed-off-by: Ivan Milosevic <[email protected]> * typo in var name Signed-off-by: Ivan Milosevic <[email protected]> * rename var Signed-off-by: Ivan Milosevic <[email protected]> * remove MF_EMAIL_SECRET Signed-off-by: Ivan Milosevic <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
* correct suscriber interface validator + refactore token error handling Signed-off-by: tzzed <[email protected]> * apply review suggestion Signed-off-by: tzzed <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
absmach#1470) * remove owner id Signed-off-by: Mirko Teodorovic <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * enable mongodb reader for user token reading Signed-off-by: mteodor <[email protected]> * use uuid check for auth switch between thing key and user tok Signed-off-by: mteodor <[email protected]> * enable user token reading Signed-off-by: mteodor <[email protected]> * revert to correct version Signed-off-by: mteodor <[email protected]> * fix endpoint test, add additional tests Signed-off-by: mteodor <[email protected]> * remove logs,dead code Signed-off-by: mteodor <[email protected]> * fix logging messages Signed-off-by: mteodor <[email protected]> * remove auth interface, add authorization header type Signed-off-by: mteodor <[email protected]> * update api doc Signed-off-by: mteodor <[email protected]> * remove unused package Signed-off-by: mteodor <[email protected]> * some refactor of cases for authorization switch Signed-off-by: mteodor <[email protected]> * correct description in openapi Signed-off-by: mteodor <[email protected]> * fix endpoint test to match auth service change Signed-off-by: mteodor <[email protected]> * some rename Signed-off-by: mteodor <[email protected]> * initialize auth url Signed-off-by: mteodor <[email protected]> * add env variables for auth service Signed-off-by: mteodor <[email protected]> * fix spelling Signed-off-by: mteodor <[email protected]> * Things prefix and no prefix for Thing authorization, Bearer for user Signed-off-by: mteodor <[email protected]> * update readme file Signed-off-by: mteodor <[email protected]> * fix default things grpc port Signed-off-by: mteodor <[email protected]> * enable user reading for timescaledb Signed-off-by: mteodor <[email protected]> * remove not used error Signed-off-by: mteodor <[email protected]> * improve errors Signed-off-by: mteodor <[email protected]> * refactor authorize Signed-off-by: mteodor <[email protected]> * add chanID check Signed-off-by: mteodor <[email protected]> * inline some error checking Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * improve test case description Signed-off-by: mteodor <[email protected]> * remove test code Signed-off-by: mteodor <[email protected]> * dont inline Signed-off-by: mteodor <[email protected]> * refactor a bit encodeError Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * fix things auth grpc url Signed-off-by: mteodor <[email protected]> * rename variables for header prefix Signed-off-by: mteodor <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
…o MF-1416 Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
RabbitMQ expects that all client IDs are unique.
So when we cancel the consumer we have a unique id that will only cancel one consumer. For our case, since we are passing in the unique ID, we need to generate a unique ID for every consumer or to create multiple channels per topic. Creating numerous channels is discouraged as by doing so it consumes system resources and makes it more difficult to configure firewalls |
OK. I let you choose between generating an ID and using a combination of client ID and topic. |
Which one do you suggest we use? I had started with using a combination of client ID and topic |
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
pkg/messaging/rabbitmq/pubsub.go
Outdated
if err != nil { | ||
return err | ||
} | ||
go ps.handle(msgs, handler) | ||
s[id] = subscription{ | ||
cancel: func() error { | ||
if err := ps.ch.Cancel(id, false); err != nil { | ||
clientID := fmt.Sprintf("%s-%s", topic, id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reuse clientID
from L104.
@@ -27,9 +27,9 @@ var ( | |||
) | |||
|
|||
func TestPubsub(t *testing.T) { | |||
err := pubsub.Subscribe(topicID, fmt.Sprintf("%s.%s", chansPrefix, topic), handler{}) | |||
err := pubsub.Subscribe(clientID, fmt.Sprintf("%s.%s", chansPrefix, topic), handler{}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can still keep TestPublish
and TestSubscribe
with separate cases (but in this single file, that's OK).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here we are subscribing so that we can receive the published messages
pkg/messaging/nats/pubsub_test.go
Outdated
topicID: "topicid1", | ||
errorMessage: errors.New("already subscribed to topic"), | ||
clientID: "clientid1", | ||
errorMessage: nats.ErrAlreadySubscribed, | ||
pubsub: true, | ||
}, | ||
{ | ||
desc: "Unsubscribe to a topic with an ID", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo Unsubscribe **from**...
. Same for all unsubscribe cases.
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
Signed-off-by: 0x6f736f646f <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…h#1562) * MF-1263 - Move repeating errors to the separate package (absmach#1540) * MF-1263 - Mv duplicated errors to pkg/errors Signed-off-by: Manuel Imperiale <[email protected]> * Revert test build flags Signed-off-by: Manuel Imperiale <[email protected]> * Fix merge Signed-off-by: Manuel Imperiale <[email protected]> * Fix comment Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix auth members list response (absmach#1555) * NOISSUE - Fix auth members list response Signed-off-by: Manuel Imperiale <[email protected]> * Move group type next to page details Signed-off-by: Manuel Imperiale <[email protected]> * Rm membersRes Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz (absmach#1538) * MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz Signed-off-by: Manuel Imperiale <[email protected]> * ErrExternalKey typo Signed-off-by: Manuel Imperiale <[email protected]> * Rename ErrUnauthorizedAcces -> ErrAuthentication Signed-off-by: Manuel Imperiale <[email protected]> * Fix bootstrap error Signed-off-by: Manuel Imperiale <[email protected]> * Fix status code in openapi Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Add errors cases Signed-off-by: Manuel Imperiale <[email protected]> * Fix status codes Signed-off-by: Manuel Imperiale <[email protected]> * Add gRPC stutus code Signed-off-by: Manuel Imperiale <[email protected]> * Fix tests description Signed-off-by: Manuel Imperiale <[email protected]> * Fix openapi and encodeError Signed-off-by: Manuel Imperiale <[email protected]> * Fix grpc message Signed-off-by: Manuel Imperiale <[email protected]> * Fix test descriptions Signed-off-by: Manuel Imperiale <[email protected]> * Revert sdk error Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1059 - Add TLS support for email (absmach#1560) * Use gomail package for sending emails Signed-off-by: Ivan Milosevic <[email protected]> * remove print err Signed-off-by: Ivan Milosevic <[email protected]> * Add vendor Signed-off-by: Ivan Milosevic <[email protected]> * Rename email structure remove logger Signed-off-by: Ivan Milosevic <[email protected]> * typo in var name Signed-off-by: Ivan Milosevic <[email protected]> * rename var Signed-off-by: Ivan Milosevic <[email protected]> * remove MF_EMAIL_SECRET Signed-off-by: Ivan Milosevic <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Refactor MQTT subscriber (absmach#1561) * correct suscriber interface validator + refactore token error handling Signed-off-by: tzzed <[email protected]> * apply review suggestion Signed-off-by: tzzed <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1257 - Access messages from readers endpoint with user access token (absmach#1470) * remove owner id Signed-off-by: Mirko Teodorovic <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * enable mongodb reader for user token reading Signed-off-by: mteodor <[email protected]> * use uuid check for auth switch between thing key and user tok Signed-off-by: mteodor <[email protected]> * enable user token reading Signed-off-by: mteodor <[email protected]> * revert to correct version Signed-off-by: mteodor <[email protected]> * fix endpoint test, add additional tests Signed-off-by: mteodor <[email protected]> * remove logs,dead code Signed-off-by: mteodor <[email protected]> * fix logging messages Signed-off-by: mteodor <[email protected]> * remove auth interface, add authorization header type Signed-off-by: mteodor <[email protected]> * update api doc Signed-off-by: mteodor <[email protected]> * remove unused package Signed-off-by: mteodor <[email protected]> * some refactor of cases for authorization switch Signed-off-by: mteodor <[email protected]> * correct description in openapi Signed-off-by: mteodor <[email protected]> * fix endpoint test to match auth service change Signed-off-by: mteodor <[email protected]> * some rename Signed-off-by: mteodor <[email protected]> * initialize auth url Signed-off-by: mteodor <[email protected]> * add env variables for auth service Signed-off-by: mteodor <[email protected]> * fix spelling Signed-off-by: mteodor <[email protected]> * Things prefix and no prefix for Thing authorization, Bearer for user Signed-off-by: mteodor <[email protected]> * update readme file Signed-off-by: mteodor <[email protected]> * fix default things grpc port Signed-off-by: mteodor <[email protected]> * enable user reading for timescaledb Signed-off-by: mteodor <[email protected]> * remove not used error Signed-off-by: mteodor <[email protected]> * improve errors Signed-off-by: mteodor <[email protected]> * refactor authorize Signed-off-by: mteodor <[email protected]> * add chanID check Signed-off-by: mteodor <[email protected]> * inline some error checking Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * improve test case description Signed-off-by: mteodor <[email protected]> * remove test code Signed-off-by: mteodor <[email protected]> * dont inline Signed-off-by: mteodor <[email protected]> * refactor a bit encodeError Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * fix things auth grpc url Signed-off-by: mteodor <[email protected]> * rename variables for header prefix Signed-off-by: mteodor <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit for tests Signed-off-by: 0x6f736f646f <[email protected]> * Bump up tests Signed-off-by: 0x6f736f646f <[email protected]> * Add more tests Signed-off-by: 0x6f736f646f <[email protected]> * Add go routines Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit for tests Signed-off-by: 0x6f736f646f <[email protected]> * Bump up tests Signed-off-by: 0x6f736f646f <[email protected]> * Add more tests Signed-off-by: 0x6f736f646f <[email protected]> * Add go routines Signed-off-by: 0x6f736f646f <[email protected]> * Fix tests Signed-off-by: 0x6f736f646f <[email protected]> * Fix with wait groups Signed-off-by: 0x6f736f646f <[email protected]> * unsubscribe to stop delivering messages Signed-off-by: 0x6f736f646f <[email protected]> * Remove exclusivity Signed-off-by: 0x6f736f646f <[email protected]> * MF-1551 - Fix Cobra usage commands and clean unnecessary struct types (absmach#1558) * MF-1551 - Fix Cobra usage commands and clean unnecessary struct types Signed-off-by: Manuel Imperiale <[email protected]> * Use linux syntax for cmd usage description Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> * Fix cmd.Use Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Separate Keto hosts for read and write (absmach#1563) * Separate keto hosts for read and write Signed-off-by: Ivan Milosevic <[email protected]> * update readme with new envars Signed-off-by: Ivan Milosevic <[email protected]> * rename read connection name Signed-off-by: Ivan Milosevic <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update dependencies (absmach#1564) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1240 - Return to service transport layer only service errors (absmach#1559) * MF-1240 - Return to service transport layer only service errors Signed-off-by: Manuel Imperiale <[email protected]> * Remove unecessary errors Signed-off-by: Manuel Imperiale <[email protected]> * Rm duplicated errors and fix transport Signed-off-by: Manuel Imperiale <[email protected]> * Revert http endpoint_test Signed-off-by: Manuel Imperiale <[email protected]> * Fix conflict Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Implement cancel mechanisms Signed-off-by: 0x6f736f646f <[email protected]> * Queuename as parameter Signed-off-by: 0x6f736f646f <[email protected]> * Queuename as parameter Signed-off-by: 0x6f736f646f <[email protected]> * MF-1469 - Indicate proper authentication scheme in Authorization header (absmach#1523) * MF-1469 - Indicate proper authentication scheme in Authorization header Signed-off-by: Stefan Kovacevic <[email protected]> * Fixing the remarks on the last push Signed-off-by: Stefan Kovacevic <[email protected]> * Remove Bearer prefix in all services and fix tests Signed-off-by: Manuel Imperiale <[email protected]> * Fix remarks Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Add nats wrapper for COAP (absmach#1569) * Add nats wrapper for COAP Signed-off-by: 0x6f736f646f <[email protected]> * Pass pubsub as argument Signed-off-by: 0x6f736f646f <[email protected]> * Defer close connection Signed-off-by: 0x6f736f646f <[email protected]> * Defer close connection Signed-off-by: 0x6f736f646f <[email protected]> * Rename endpoint to topic Signed-off-by: 0x6f736f646f <[email protected]> * MF-1348 - Add transport errors logging (absmach#1544) * MF-1348 - Add go-kit transport level logging Signed-off-by: Manuel Imperiale <[email protected]> * Fix reviews Signed-off-by: Manuel Imperiale <[email protected]> * Fix reviews Signed-off-by: Manuel Imperiale <[email protected]> * Fix merge Signed-off-by: Manuel Imperiale <[email protected]> * Fix remark Signed-off-by: Manuel Imperiale <[email protected]> * Fix go test flags Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in things and http service Signed-off-by: Manuel Imperiale <[email protected]> * Fix SDK tests Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in certs and provision service Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in consumers service Signed-off-by: Manuel Imperiale <[email protected]> * General renaming and add ErrMissingToken Signed-off-by: Manuel Imperiale <[email protected]> * Rename httputil -> apiutil and use errors in users servive Signed-off-by: Manuel Imperiale <[email protected]> * Use apiutil errors in auth, bootstrap, readers, things and twins Signed-off-by: Manuel Imperiale <[email protected]> * Replace errors.Contain by comparison Signed-off-by: Manuel Imperiale <[email protected]> * Fix remarks Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateID Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateID Signed-off-by: Manuel Imperiale <[email protected]> * Simplify and rename ExtractAuthToken -> ExtractBearerToken Signed-off-by: Manuel Imperiale <[email protected]> * Fix readers Signed-off-by: Manuel Imperiale <[email protected]> * Fix auth key test and remarks Signed-off-by: Manuel Imperiale <[email protected]> * Improve comment Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateUUID check Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1567 - Use Bearer, Thing or Basic scheme in Authorization header (absmach#1568) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1565 - Document Bearer, Thing and Basic Authorization header (absmach#1566) * MF-1565 - Document Bearer Authorization header Signed-off-by: Manuel Imperiale <[email protected]> * Fix auth, bootstrap, http and readers openapi Signed-off-by: Manuel Imperiale <[email protected]> * Fix openapi Signed-off-by: Manuel Imperiale <[email protected]> * Add enc key for bootstrap Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> * Use global security Signed-off-by: Manuel Imperiale <[email protected]> * Fix bearer formats Signed-off-by: Manuel Imperiale <[email protected]> * Polish descriptions Signed-off-by: Manuel Imperiale <[email protected]> * Fix boostrap and typo Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1575 Add 'Name' field to ListMembers response in things svc (absmach#1576) Signed-off-by: Ivan Balboteo <[email protected]> Co-authored-by: Ivan Balboteo <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1580 - Influxdb Writer changes format of update-time to string (absmach#1581) * - MF-1580 - Modified consumers/writers/influxdb/fields.go - influxdb-writer used to update data type of update-time to string - Commented line 12 of consumers/writers/influxdb/fields.go to resolve uneccessary data type conversion issue Signed-off-by: Hasan Tariq <[email protected]> * - MF-1580 - Removed strconv package from consumers/writers/influxdb/fields.go since it is no longer needed - Removed line 12 from consumers/writers/influxdb/fields.go - Replaced retrun value of updateTime with msg.UpdateTime (line 16 in fields.go) Signed-off-by: Hasan Tariq <[email protected]> * Fix InflxuDB readers Signed-off-by: dusanb94 <[email protected]> Co-authored-by: Hasan Tariq <[email protected]> Co-authored-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Unify MF_INFLUX_READER_DB_HOST and MF_INFLUX_WRITER_DB_HOST envars (absmach#1585) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix CoAP adapter (absmach#1572) * Revert "NOISSUE - Add nats wrapper for COAP (absmach#1569)" This reverts commit cc5d519. Signed-off-by: dusanb94 <[email protected]> * Fix CoAP adapter Signed-off-by: dusanb94 <[email protected]> * Update CoAP observation cancel Signed-off-by: dusanb94 <[email protected]> * Fix observe Signed-off-by: dusanb94 <[email protected]> * Fix GET handling Signed-off-by: dusanb94 <[email protected]> * Revert authorization Signed-off-by: dusanb94 <[email protected]> * Use constants instead of magic numbers Signed-off-by: dusanb94 <[email protected]> * Remove an empty line Signed-off-by: dusanb94 <[email protected]> * Extract special observe value to constant Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1582 - Fix lora-adapter MQTT client (absmach#1583) * MF-1582 - Fix lora-adapter MQTT clien Signed-off-by: Manuel Imperiale <[email protected]> * Add timeout config to the mqtt subscriber Signed-off-by: Manuel Imperiale <[email protected]> * Rm comment Signed-off-by: Manuel Imperiale <[email protected]> * Add sub timeout Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Update changelog and readme for release 0.13.0 (absmach#1592) * Update release example Signed-off-by: dusanb94 <[email protected]> * Update changelog and examples for 0.13.0 release Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update VerneMQ release (absmach#1593) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Update changelog for release 0.13.0 (absmach#1595) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * unexport constants Signed-off-by: 0x6f736f646f <[email protected]> * Change routingkey Signed-off-by: 0x6f736f646f <[email protected]> * Remove wait groups Signed-off-by: 0x6f736f646f <[email protected]> * protecting map Signed-off-by: 0x6f736f646f <[email protected]> * Add publisher to pubsub Signed-off-by: 0x6f736f646f <[email protected]> * Change proto library Signed-off-by: 0x6f736f646f <[email protected]> * Fix typos Signed-off-by: 0x6f736f646f <[email protected]> * Reduce pubsub tests based on implementation Signed-off-by: 0x6f736f646f <[email protected]> * Remove channel cancel Signed-off-by: 0x6f736f646f <[email protected]> * Export constant Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Move invariant statements out of loop for cassandra-writer (absmach#1596) Signed-off-by: fuzhy <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Embedding publisher into pubsub Signed-off-by: 0x6f736f646f <[email protected]> * Naming publisher Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix Nginx entrypoint script (absmach#1597) * Fix Nginx entrypoint script Signed-off-by: dusanb94 <[email protected]> * Update dependencies Signed-off-by: dusanb94 <[email protected]> * Fix NginX entrypoint Signed-off-by: dusanb94 <[email protected]> * Revert Makefile changes Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1525 - Add graceful stop for HTTP and GRPC servers (absmach#1548) * Add : errgroup to cmd/auth Signed-off-by: Arvindh <[email protected]> * Add : Handle graceful stop for auth service Remove : errgroups from auth service Signed-off-by: Arvindh <[email protected]> * Add : Wait till server shutdown Signed-off-by: Arvindh <[email protected]> * Change : instead of waitgroup changed to errgroups Signed-off-by: Arvindh <[email protected]> * change : KillSignalHandler return type to error Signed-off-by: Arvindh <[email protected]> * Empty Commit Signed-off-by: Arvindh <[email protected]> * Add : Context to http server shutdown Rename : varaible from proto to protocol Signed-off-by: Arvindh <[email protected]> * change : to default log level Signed-off-by: Arvindh <[email protected]> * Add : Sign-off Signed-off-by: Arvindh <[email protected]> * Add: graceful stop of http and grpc server Signed-off-by: Arvindh <[email protected]> * Fix: typos and caps Signed-off-by: Arvindh <[email protected]> * Add: Signed-off Signed-off-by: Arvindh <[email protected]> * Rename: Func KillSignalHandler to SignalHandler Add: SIGABRT Signed-off-by: Arvindh <[email protected]> * Fix: auth service Signed-off-by: Arvindh <[email protected]> * Add: timeout for grpc gracefulstop Fix: typos Signed-off-by: Arvindh <[email protected]> * Add: .vscode folder to git ignore Signed-off-by: Arvindh <[email protected]> * change: variable name to stopWaitTime Signed-off-by: Arvindh <[email protected]> * remove: .vscode folder Signed-off-by: Arvindh <[email protected]> * remove: .vscode from .gitignore Signed-off-by: Arvindh <[email protected]> * Add : logger to handlers Signed-off-by: Arvindh <[email protected]> * Add : New line at end of .gitignore file Signed-off-by: Arvindh <[email protected]> * Fix : variable naming Add : graceful stop for timescale Signed-off-by: Arvindh <[email protected]> * Remove : unsued NATS library from import Signed-off-by: Arvindh <[email protected]> * Move: "https" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * Move: "http" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * update: branch with master Signed-off-by: Arvindh <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1588 - Update Subscriber interface (absmach#1598) * Initial commit Signed-off-by: 0x6f736f646f <[email protected]> * Update subscriber interface Signed-off-by: dusanb94 <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * check subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Check topic id after topic Signed-off-by: 0x6f736f646f <[email protected]> * reword description Signed-off-by: 0x6f736f646f <[email protected]> * Setup empty queue Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt implementation Signed-off-by: 0x6f736f646f <[email protected]> * Switch statements Signed-off-by: 0x6f736f646f <[email protected]> * Simplify Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt subscriber Signed-off-by: 0x6f736f646f <[email protected]> * Protect subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Fix subscription Signed-off-by: 0x6f736f646f <[email protected]> * Set client id Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Change delete method Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update rabbitmq subscriber interface Signed-off-by: 0x6f736f646f <[email protected]> * using publisher composition Signed-off-by: 0x6f736f646f <[email protected]> * Change contenttype Signed-off-by: 0x6f736f646f <[email protected]> * rename topic for publish and subscribe Signed-off-by: 0x6f736f646f <[email protected]> * Change errors to lower case Signed-off-by: 0x6f736f646f <[email protected]> * Change errors to lower case Signed-off-by: 0x6f736f646f <[email protected]> * export errors Signed-off-by: 0x6f736f646f <[email protected]> * MF - 1590 - Fix fetching list of users with a zero limit (absmach#1594) * Add max and min limit size Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Retrieve client key on cert issuing (absmach#1607) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * fix bug (absmach#1604) Signed-off-by: zhangchuanfeng <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * queue per subscription Signed-off-by: 0x6f736f646f <[email protected]> * queue per subscription Signed-off-by: 0x6f736f646f <[email protected]> * Change routing method Signed-off-by: 0x6f736f646f <[email protected]> * Direct method with one exchange to many queues, one consumer per queue Signed-off-by: 0x6f736f646f <[email protected]> * ♻️ Not casting data Signed-off-by: 0x6f736f646f <[email protected]> * ✏️ Fix typo Signed-off-by: 0x6f736f646f <[email protected]> * ♻️ remove passed queue name Signed-off-by: 0x6f736f646f <[email protected]> * 🔥 removing echange kind Signed-off-by: 0x6f736f646f <[email protected]> * Combine tests Signed-off-by: 0x6f736f646f <[email protected]> * Refactor unsubscribe method Signed-off-by: 0x6f736f646f <[email protected]> * Fix merge conflict Signed-off-by: 0x6f736f646f <[email protected]> * ✅ sub and unsub to dummy topic Signed-off-by: 0x6f736f646f <[email protected]> * generate client id from topic and ID Signed-off-by: 0x6f736f646f <[email protected]> * Rename topicID to clientID Signed-off-by: 0x6f736f646f <[email protected]> * update tests Signed-off-by: 0x6f736f646f <[email protected]> * Reuse clientID Signed-off-by: 0x6f736f646f <[email protected]> * Fix typos Signed-off-by: 0x6f736f646f <[email protected]> * Seperate testpublish and testpubsub Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Ivan Milošević <[email protected]> Co-authored-by: __touk__ <[email protected]> Co-authored-by: Mirko Teodorovic <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Co-authored-by: stefankovacevic123 <[email protected]> Co-authored-by: ibalboteo <[email protected]> Co-authored-by: Ivan Balboteo <[email protected]> Co-authored-by: Hasan98-git <[email protected]> Co-authored-by: Hasan Tariq <[email protected]> Co-authored-by: fuzhy <[email protected]> Co-authored-by: Arvindh <[email protected]> Co-authored-by: 张传峰 <[email protected]> Signed-off-by: Arvindh <[email protected]>
…#1601) * MF-1525 - Add graceful stop for HTTP and GRPC servers (#1548) * Add : errgroup to cmd/auth Signed-off-by: Arvindh <[email protected]> * Add : Handle graceful stop for auth service Remove : errgroups from auth service Signed-off-by: Arvindh <[email protected]> * Add : Wait till server shutdown Signed-off-by: Arvindh <[email protected]> * Change : instead of waitgroup changed to errgroups Signed-off-by: Arvindh <[email protected]> * change : KillSignalHandler return type to error Signed-off-by: Arvindh <[email protected]> * Empty Commit Signed-off-by: Arvindh <[email protected]> * Add : Context to http server shutdown Rename : varaible from proto to protocol Signed-off-by: Arvindh <[email protected]> * change : to default log level Signed-off-by: Arvindh <[email protected]> * Add : Sign-off Signed-off-by: Arvindh <[email protected]> * Add: graceful stop of http and grpc server Signed-off-by: Arvindh <[email protected]> * Fix: typos and caps Signed-off-by: Arvindh <[email protected]> * Add: Signed-off Signed-off-by: Arvindh <[email protected]> * Rename: Func KillSignalHandler to SignalHandler Add: SIGABRT Signed-off-by: Arvindh <[email protected]> * Fix: auth service Signed-off-by: Arvindh <[email protected]> * Add: timeout for grpc gracefulstop Fix: typos Signed-off-by: Arvindh <[email protected]> * Add: .vscode folder to git ignore Signed-off-by: Arvindh <[email protected]> * change: variable name to stopWaitTime Signed-off-by: Arvindh <[email protected]> * remove: .vscode folder Signed-off-by: Arvindh <[email protected]> * remove: .vscode from .gitignore Signed-off-by: Arvindh <[email protected]> * Add : logger to handlers Signed-off-by: Arvindh <[email protected]> * Add : New line at end of .gitignore file Signed-off-by: Arvindh <[email protected]> * Fix : variable naming Add : graceful stop for timescale Signed-off-by: Arvindh <[email protected]> * Remove : unsued NATS library from import Signed-off-by: Arvindh <[email protected]> * Move: "https" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * Move: "http" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * update: branch with master Signed-off-by: Arvindh <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: Arvindh <[email protected]> * Add: httpserver and grpcsever Signed-off-by: Arvindh <[email protected]> * MF-1588 - Update Subscriber interface (#1598) * Initial commit Signed-off-by: 0x6f736f646f <[email protected]> * Update subscriber interface Signed-off-by: dusanb94 <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * check subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Check topic id after topic Signed-off-by: 0x6f736f646f <[email protected]> * reword description Signed-off-by: 0x6f736f646f <[email protected]> * Setup empty queue Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt implementation Signed-off-by: 0x6f736f646f <[email protected]> * Switch statements Signed-off-by: 0x6f736f646f <[email protected]> * Simplify Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt subscriber Signed-off-by: 0x6f736f646f <[email protected]> * Protect subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Fix subscription Signed-off-by: 0x6f736f646f <[email protected]> * Set client id Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Change delete method Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: Arvindh <[email protected]> * move http and grpc server functions Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Move Keto and Jaeger Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Add metrics and auth Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * MF - 1590 - Fix fetching list of users with a zero limit (#1594) * Add max and min limit size Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: Arvindh <[email protected]> * NOISSUE - Retrieve client key on cert issuing (#1607) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: Arvindh <[email protected]> * fix bug (#1604) Signed-off-by: zhangchuanfeng <[email protected]> Signed-off-by: Arvindh <[email protected]> * Rename service name Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Change metrics method Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * Rename package name Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :truck: Rename Keto and Jaeger functions Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * unify grpc service Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :truck: rename apiutil to initutil Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :sparkles: coap server Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :truck: rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :truck: Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :recycle: rename packages Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :recycle: remove mf prefix Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * :truck: rename server error Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * remove dead code Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * MF - 1416 - Queue Abstraction for Mainflux & RabbitMQ Support (#1562) * MF-1263 - Move repeating errors to the separate package (#1540) * MF-1263 - Mv duplicated errors to pkg/errors Signed-off-by: Manuel Imperiale <[email protected]> * Revert test build flags Signed-off-by: Manuel Imperiale <[email protected]> * Fix merge Signed-off-by: Manuel Imperiale <[email protected]> * Fix comment Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix auth members list response (#1555) * NOISSUE - Fix auth members list response Signed-off-by: Manuel Imperiale <[email protected]> * Move group type next to page details Signed-off-by: Manuel Imperiale <[email protected]> * Rm membersRes Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz (#1538) * MF-1261 - Use StatusUnauthorized for authn and StatusForbidden for authz Signed-off-by: Manuel Imperiale <[email protected]> * ErrExternalKey typo Signed-off-by: Manuel Imperiale <[email protected]> * Rename ErrUnauthorizedAcces -> ErrAuthentication Signed-off-by: Manuel Imperiale <[email protected]> * Fix bootstrap error Signed-off-by: Manuel Imperiale <[email protected]> * Fix status code in openapi Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Fix test description Signed-off-by: Manuel Imperiale <[email protected]> * Add errors cases Signed-off-by: Manuel Imperiale <[email protected]> * Fix status codes Signed-off-by: Manuel Imperiale <[email protected]> * Add gRPC stutus code Signed-off-by: Manuel Imperiale <[email protected]> * Fix tests description Signed-off-by: Manuel Imperiale <[email protected]> * Fix openapi and encodeError Signed-off-by: Manuel Imperiale <[email protected]> * Fix grpc message Signed-off-by: Manuel Imperiale <[email protected]> * Fix test descriptions Signed-off-by: Manuel Imperiale <[email protected]> * Revert sdk error Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1059 - Add TLS support for email (#1560) * Use gomail package for sending emails Signed-off-by: Ivan Milosevic <[email protected]> * remove print err Signed-off-by: Ivan Milosevic <[email protected]> * Add vendor Signed-off-by: Ivan Milosevic <[email protected]> * Rename email structure remove logger Signed-off-by: Ivan Milosevic <[email protected]> * typo in var name Signed-off-by: Ivan Milosevic <[email protected]> * rename var Signed-off-by: Ivan Milosevic <[email protected]> * remove MF_EMAIL_SECRET Signed-off-by: Ivan Milosevic <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Refactor MQTT subscriber (#1561) * correct suscriber interface validator + refactore token error handling Signed-off-by: tzzed <[email protected]> * apply review suggestion Signed-off-by: tzzed <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1257 - Access messages from readers endpoint with user access token (#1470) * remove owner id Signed-off-by: Mirko Teodorovic <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * add user auth for db reader Signed-off-by: mteodor <[email protected]> * enable mongodb reader for user token reading Signed-off-by: mteodor <[email protected]> * use uuid check for auth switch between thing key and user tok Signed-off-by: mteodor <[email protected]> * enable user token reading Signed-off-by: mteodor <[email protected]> * revert to correct version Signed-off-by: mteodor <[email protected]> * fix endpoint test, add additional tests Signed-off-by: mteodor <[email protected]> * remove logs,dead code Signed-off-by: mteodor <[email protected]> * fix logging messages Signed-off-by: mteodor <[email protected]> * remove auth interface, add authorization header type Signed-off-by: mteodor <[email protected]> * update api doc Signed-off-by: mteodor <[email protected]> * remove unused package Signed-off-by: mteodor <[email protected]> * some refactor of cases for authorization switch Signed-off-by: mteodor <[email protected]> * correct description in openapi Signed-off-by: mteodor <[email protected]> * fix endpoint test to match auth service change Signed-off-by: mteodor <[email protected]> * some rename Signed-off-by: mteodor <[email protected]> * initialize auth url Signed-off-by: mteodor <[email protected]> * add env variables for auth service Signed-off-by: mteodor <[email protected]> * fix spelling Signed-off-by: mteodor <[email protected]> * Things prefix and no prefix for Thing authorization, Bearer for user Signed-off-by: mteodor <[email protected]> * update readme file Signed-off-by: mteodor <[email protected]> * fix default things grpc port Signed-off-by: mteodor <[email protected]> * enable user reading for timescaledb Signed-off-by: mteodor <[email protected]> * remove not used error Signed-off-by: mteodor <[email protected]> * improve errors Signed-off-by: mteodor <[email protected]> * refactor authorize Signed-off-by: mteodor <[email protected]> * add chanID check Signed-off-by: mteodor <[email protected]> * inline some error checking Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * fixing errors Signed-off-by: mteodor <[email protected]> * improve test case description Signed-off-by: mteodor <[email protected]> * remove test code Signed-off-by: mteodor <[email protected]> * dont inline Signed-off-by: mteodor <[email protected]> * refactor a bit encodeError Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * remove unused error Signed-off-by: mteodor <[email protected]> * fix things auth grpc url Signed-off-by: mteodor <[email protected]> * rename variables for header prefix Signed-off-by: mteodor <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit for tests Signed-off-by: 0x6f736f646f <[email protected]> * Bump up tests Signed-off-by: 0x6f736f646f <[email protected]> * Add more tests Signed-off-by: 0x6f736f646f <[email protected]> * Add go routines Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit of adding rabbitmq broker Signed-off-by: 0x6f736f646f <[email protected]> * Initial commit for tests Signed-off-by: 0x6f736f646f <[email protected]> * Bump up tests Signed-off-by: 0x6f736f646f <[email protected]> * Add more tests Signed-off-by: 0x6f736f646f <[email protected]> * Add go routines Signed-off-by: 0x6f736f646f <[email protected]> * Fix tests Signed-off-by: 0x6f736f646f <[email protected]> * Fix with wait groups Signed-off-by: 0x6f736f646f <[email protected]> * unsubscribe to stop delivering messages Signed-off-by: 0x6f736f646f <[email protected]> * Remove exclusivity Signed-off-by: 0x6f736f646f <[email protected]> * MF-1551 - Fix Cobra usage commands and clean unnecessary struct types (#1558) * MF-1551 - Fix Cobra usage commands and clean unnecessary struct types Signed-off-by: Manuel Imperiale <[email protected]> * Use linux syntax for cmd usage description Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> * Fix cmd.Use Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Separate Keto hosts for read and write (#1563) * Separate keto hosts for read and write Signed-off-by: Ivan Milosevic <[email protected]> * update readme with new envars Signed-off-by: Ivan Milosevic <[email protected]> * rename read connection name Signed-off-by: Ivan Milosevic <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update dependencies (#1564) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1240 - Return to service transport layer only service errors (#1559) * MF-1240 - Return to service transport layer only service errors Signed-off-by: Manuel Imperiale <[email protected]> * Remove unecessary errors Signed-off-by: Manuel Imperiale <[email protected]> * Rm duplicated errors and fix transport Signed-off-by: Manuel Imperiale <[email protected]> * Revert http endpoint_test Signed-off-by: Manuel Imperiale <[email protected]> * Fix conflict Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Implement cancel mechanisms Signed-off-by: 0x6f736f646f <[email protected]> * Queuename as parameter Signed-off-by: 0x6f736f646f <[email protected]> * Queuename as parameter Signed-off-by: 0x6f736f646f <[email protected]> * MF-1469 - Indicate proper authentication scheme in Authorization header (#1523) * MF-1469 - Indicate proper authentication scheme in Authorization header Signed-off-by: Stefan Kovacevic <[email protected]> * Fixing the remarks on the last push Signed-off-by: Stefan Kovacevic <[email protected]> * Remove Bearer prefix in all services and fix tests Signed-off-by: Manuel Imperiale <[email protected]> * Fix remarks Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Add nats wrapper for COAP (#1569) * Add nats wrapper for COAP Signed-off-by: 0x6f736f646f <[email protected]> * Pass pubsub as argument Signed-off-by: 0x6f736f646f <[email protected]> * Defer close connection Signed-off-by: 0x6f736f646f <[email protected]> * Defer close connection Signed-off-by: 0x6f736f646f <[email protected]> * Rename endpoint to topic Signed-off-by: 0x6f736f646f <[email protected]> * MF-1348 - Add transport errors logging (#1544) * MF-1348 - Add go-kit transport level logging Signed-off-by: Manuel Imperiale <[email protected]> * Fix reviews Signed-off-by: Manuel Imperiale <[email protected]> * Fix reviews Signed-off-by: Manuel Imperiale <[email protected]> * Fix merge Signed-off-by: Manuel Imperiale <[email protected]> * Fix remark Signed-off-by: Manuel Imperiale <[email protected]> * Fix go test flags Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in things and http service Signed-off-by: Manuel Imperiale <[email protected]> * Fix SDK tests Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in certs and provision service Signed-off-by: Manuel Imperiale <[email protected]> * Use httputil errors in consumers service Signed-off-by: Manuel Imperiale <[email protected]> * General renaming and add ErrMissingToken Signed-off-by: Manuel Imperiale <[email protected]> * Rename httputil -> apiutil and use errors in users servive Signed-off-by: Manuel Imperiale <[email protected]> * Use apiutil errors in auth, bootstrap, readers, things and twins Signed-off-by: Manuel Imperiale <[email protected]> * Replace errors.Contain by comparison Signed-off-by: Manuel Imperiale <[email protected]> * Fix remarks Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateID Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateID Signed-off-by: Manuel Imperiale <[email protected]> * Simplify and rename ExtractAuthToken -> ExtractBearerToken Signed-off-by: Manuel Imperiale <[email protected]> * Fix readers Signed-off-by: Manuel Imperiale <[email protected]> * Fix auth key test and remarks Signed-off-by: Manuel Imperiale <[email protected]> * Improve comment Signed-off-by: Manuel Imperiale <[email protected]> * Simplify validateUUID check Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1567 - Use Bearer, Thing or Basic scheme in Authorization header (#1568) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1565 - Document Bearer, Thing and Basic Authorization header (#1566) * MF-1565 - Document Bearer Authorization header Signed-off-by: Manuel Imperiale <[email protected]> * Fix auth, bootstrap, http and readers openapi Signed-off-by: Manuel Imperiale <[email protected]> * Fix openapi Signed-off-by: Manuel Imperiale <[email protected]> * Add enc key for bootstrap Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> * Use global security Signed-off-by: Manuel Imperiale <[email protected]> * Fix bearer formats Signed-off-by: Manuel Imperiale <[email protected]> * Polish descriptions Signed-off-by: Manuel Imperiale <[email protected]> * Fix boostrap and typo Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1575 Add 'Name' field to ListMembers response in things svc (#1576) Signed-off-by: Ivan Balboteo <[email protected]> Co-authored-by: Ivan Balboteo <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1580 - Influxdb Writer changes format of update-time to string (#1581) * - MF-1580 - Modified consumers/writers/influxdb/fields.go - influxdb-writer used to update data type of update-time to string - Commented line 12 of consumers/writers/influxdb/fields.go to resolve uneccessary data type conversion issue Signed-off-by: Hasan Tariq <[email protected]> * - MF-1580 - Removed strconv package from consumers/writers/influxdb/fields.go since it is no longer needed - Removed line 12 from consumers/writers/influxdb/fields.go - Replaced retrun value of updateTime with msg.UpdateTime (line 16 in fields.go) Signed-off-by: Hasan Tariq <[email protected]> * Fix InflxuDB readers Signed-off-by: dusanb94 <[email protected]> Co-authored-by: Hasan Tariq <[email protected]> Co-authored-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Unify MF_INFLUX_READER_DB_HOST and MF_INFLUX_WRITER_DB_HOST envars (#1585) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix CoAP adapter (#1572) * Revert "NOISSUE - Add nats wrapper for COAP (#1569)" This reverts commit cc5d5195ab27fa94270ada616487b7053fd9c7bd. Signed-off-by: dusanb94 <[email protected]> * Fix CoAP adapter Signed-off-by: dusanb94 <[email protected]> * Update CoAP observation cancel Signed-off-by: dusanb94 <[email protected]> * Fix observe Signed-off-by: dusanb94 <[email protected]> * Fix GET handling Signed-off-by: dusanb94 <[email protected]> * Revert authorization Signed-off-by: dusanb94 <[email protected]> * Use constants instead of magic numbers Signed-off-by: dusanb94 <[email protected]> * Remove an empty line Signed-off-by: dusanb94 <[email protected]> * Extract special observe value to constant Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1582 - Fix lora-adapter MQTT client (#1583) * MF-1582 - Fix lora-adapter MQTT clien Signed-off-by: Manuel Imperiale <[email protected]> * Add timeout config to the mqtt subscriber Signed-off-by: Manuel Imperiale <[email protected]> * Rm comment Signed-off-by: Manuel Imperiale <[email protected]> * Add sub timeout Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Update changelog and readme for release 0.13.0 (#1592) * Update release example Signed-off-by: dusanb94 <[email protected]> * Update changelog and examples for 0.13.0 release Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update VerneMQ release (#1593) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Update changelog for release 0.13.0 (#1595) Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * unexport constants Signed-off-by: 0x6f736f646f <[email protected]> * Change routingkey Signed-off-by: 0x6f736f646f <[email protected]> * Remove wait groups Signed-off-by: 0x6f736f646f <[email protected]> * protecting map Signed-off-by: 0x6f736f646f <[email protected]> * Add publisher to pubsub Signed-off-by: 0x6f736f646f <[email protected]> * Change proto library Signed-off-by: 0x6f736f646f <[email protected]> * Fix typos Signed-off-by: 0x6f736f646f <[email protected]> * Reduce pubsub tests based on implementation Signed-off-by: 0x6f736f646f <[email protected]> * Remove channel cancel Signed-off-by: 0x6f736f646f <[email protected]> * Export constant Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Move invariant statements out of loop for cassandra-writer (#1596) Signed-off-by: fuzhy <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Embedding publisher into pubsub Signed-off-by: 0x6f736f646f <[email protected]> * Naming publisher Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Fix Nginx entrypoint script (#1597) * Fix Nginx entrypoint script Signed-off-by: dusanb94 <[email protected]> * Update dependencies Signed-off-by: dusanb94 <[email protected]> * Fix NginX entrypoint Signed-off-by: dusanb94 <[email protected]> * Revert Makefile changes Signed-off-by: dusanb94 <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1525 - Add graceful stop for HTTP and GRPC servers (#1548) * Add : errgroup to cmd/auth Signed-off-by: Arvindh <[email protected]> * Add : Handle graceful stop for auth service Remove : errgroups from auth service Signed-off-by: Arvindh <[email protected]> * Add : Wait till server shutdown Signed-off-by: Arvindh <[email protected]> * Change : instead of waitgroup changed to errgroups Signed-off-by: Arvindh <[email protected]> * change : KillSignalHandler return type to error Signed-off-by: Arvindh <[email protected]> * Empty Commit Signed-off-by: Arvindh <[email protected]> * Add : Context to http server shutdown Rename : varaible from proto to protocol Signed-off-by: Arvindh <[email protected]> * change : to default log level Signed-off-by: Arvindh <[email protected]> * Add : Sign-off Signed-off-by: Arvindh <[email protected]> * Add: graceful stop of http and grpc server Signed-off-by: Arvindh <[email protected]> * Fix: typos and caps Signed-off-by: Arvindh <[email protected]> * Add: Signed-off Signed-off-by: Arvindh <[email protected]> * Rename: Func KillSignalHandler to SignalHandler Add: SIGABRT Signed-off-by: Arvindh <[email protected]> * Fix: auth service Signed-off-by: Arvindh <[email protected]> * Add: timeout for grpc gracefulstop Fix: typos Signed-off-by: Arvindh <[email protected]> * Add: .vscode folder to git ignore Signed-off-by: Arvindh <[email protected]> * change: variable name to stopWaitTime Signed-off-by: Arvindh <[email protected]> * remove: .vscode folder Signed-off-by: Arvindh <[email protected]> * remove: .vscode from .gitignore Signed-off-by: Arvindh <[email protected]> * Add : logger to handlers Signed-off-by: Arvindh <[email protected]> * Add : New line at end of .gitignore file Signed-off-by: Arvindh <[email protected]> * Fix : variable naming Add : graceful stop for timescale Signed-off-by: Arvindh <[email protected]> * Remove : unsued NATS library from import Signed-off-by: Arvindh <[email protected]> * Move: "https" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * Move: "http" and "https" to moved to const var Signed-off-by: Arvindh <[email protected]> * update: branch with master Signed-off-by: Arvindh <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * MF-1588 - Update Subscriber interface (#1598) * Initial commit Signed-off-by: 0x6f736f646f <[email protected]> * Update subscriber interface Signed-off-by: dusanb94 <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * Add tests Signed-off-by: 0x6f736f646f <[email protected]> * check subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Check topic id after topic Signed-off-by: 0x6f736f646f <[email protected]> * reword description Signed-off-by: 0x6f736f646f <[email protected]> * Setup empty queue Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt implementation Signed-off-by: 0x6f736f646f <[email protected]> * Switch statements Signed-off-by: 0x6f736f646f <[email protected]> * Simplify Signed-off-by: 0x6f736f646f <[email protected]> * Change mqtt subscriber Signed-off-by: 0x6f736f646f <[email protected]> * Protect subscription map Signed-off-by: 0x6f736f646f <[email protected]> * Fix subscription Signed-off-by: 0x6f736f646f <[email protected]> * Set client id Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Change delete method Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * Update rabbitmq subscriber interface Signed-off-by: 0x6f736f646f <[email protected]> * using publisher composition Signed-off-by: 0x6f736f646f <[email protected]> * Change contenttype Signed-off-by: 0x6f736f646f <[email protected]> * rename topic for publish and subscribe Signed-off-by: 0x6f736f646f <[email protected]> * Change errors to lower case Signed-off-by: 0x6f736f646f <[email protected]> * Change errors to lower case Signed-off-by: 0x6f736f646f <[email protected]> * export errors Signed-off-by: 0x6f736f646f <[email protected]> * MF - 1590 - Fix fetching list of users with a zero limit (#1594) * Add max and min limit size Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> * Format Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * NOISSUE - Retrieve client key on cert issuing (#1607) Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * fix bug (#1604) Signed-off-by: zhangchuanfeng <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> * queue per subscription Signed-off-by: 0x6f736f646f <[email protected]> * queue per subscription Signed-off-by: 0x6f736f646f <[email protected]> * Change routing method Signed-off-by: 0x6f736f646f <[email protected]> * Direct method with one exchange to many queues, one consumer per queue Signed-off-by: 0x6f736f646f <[email protected]> * :recycle: Not casting data Signed-off-by: 0x6f736f646f <[email protected]> * :pencil2: Fix typo Signed-off-by: 0x6f736f646f <[email protected]> * :recycle: remove passed queue name Signed-off-by: 0x6f736f646f <[email protected]> * :fire: removing echange kind Signed-off-by: 0x6f736f646f <[email protected]> * Combine tests Signed-off-by: 0x6f736f646f <[email protected]> * Refactor unsubscribe method Signed-off-by: 0x6f736f646f <[email protected]> * Fix merge conflict Signed-off-by: 0x6f736f646f <[email protected]> * :white_check_mark: sub and unsub to dummy topic Signed-off-by: 0x6f736f646f <[email protected]> * generate client id from topic and ID Signed-off-by: 0x6f736f646f <[email protected]> * Rename topicID to clientID Signed-off-by: 0x6f736f646f <[email protected]> * update tests Signed-off-by: 0x6f736f646f <[email protected]> * Reuse clientID Signed-off-by: 0x6f736f646f <[email protected]> * Fix typos Signed-off-by: 0x6f736f646f <[email protected]> * Seperate testpublish and testpubsub Signed-off-by: 0x6f736f646f <[email protected]> Co-authored-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Ivan Milošević <[email protected]> Co-authored-by: __touk__ <[email protected]> Co-authored-by: Mirko Teodorovic <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Co-authored-by: stefankovacevic123 <[email protected]> Co-authored-by: ibalboteo <[email protected]> Co-authored-by: Ivan Balboteo <[email protected]> Co-authored-by: Hasan98-git <[email protected]> Co-authored-by: Hasan Tariq <[email protected]> Co-authored-by: fuzhy <[email protected]> Co-authored-by: Arvindh <[email protected]> Co-authored-by: 张传峰 <[email protected]> Signed-off-by: Arvindh <[email protected]> * NOISSUE - Fix Groups SDK (#1609) * Fix Groups SDK Signed-off-by: dusanb94 <[email protected]> * Fix CLI Signed-off-by: dusanb94 <[email protected]> Signed-off-by: Arvindh <[email protected]> * NOISSUE - Fix CI script (#1613) * Fix CI script Signed-off-by: dusanb94 <[email protected]> * Fix linter errors Signed-off-by: dusanb94 <[email protected]> * Add timeout to linter Signed-off-by: dusanb94 <[email protected]> Signed-off-by: Arvindh <[email protected]> * NOISSUE - Make application/json content-type valid in http-adapter (#1606) * NOISSUE - Make application/json content-type valid in http-adapter Signed-off-by: Manuel Imperiale <[email protected]> * Add test Signed-off-by: Manuel Imperiale <[email protected]> * Add CBOR content-type Signed-off-by: Manuel Imperiale <[email protected]> * Fix naming Signed-off-by: Manuel Imperiale <[email protected]> * Fix naming Signed-off-by: Manuel Imperiale <[email protected]> * Fix CI Signed-off-by: Manuel Imperiale <[email protected]> * Fix CI flag Signed-off-by: Manuel Imperiale <[email protected]> * Fix CI install Signed-off-by: Manuel Imperiale <[email protected]> * Upgrade grpc version Signed-off-by: Manuel Imperiale <[email protected]> * Fix typo Signed-off-by: Manuel Imperiale <[email protected]> * rm cli Signed-off-by: Manuel Imperiale <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Signed-off-by: Arvindh <[email protected]> * Specify size of channel Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> * NOISSUE - fix pull request template typo (#1616) * Fix typo Signed-off-by: Filip Bugarski <[email protected]> * Change link Signed-off-by: fbugarski <[email protected]> Signed-off-by: Arvindh <[email protected]> * Add: load configuration function Signed-off-by: Arvindh <[email protected]> * change: load config from env with pkg caarlos0/env Signed-off-by: Arvindh <[email protected]> * change: mfdatabase to internaldb Signed-off-by: Arvindh <[email protected]> * Add: httpserver and grpcsever Signed-off-by: Arvindh <[email protected]> move http and grpc server functions Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Move Keto and Jaeger Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Add metrics and auth Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Rename service name Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Change metrics method Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Rename package name Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :truck: Rename Keto and Jaeger functions Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> unify grpc service Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :truck: rename apiutil to initutil Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :sparkles: coap server Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :truck: rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :truck: Rename Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :recycle: rename packages Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :recycle: remove mf prefix Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> :truck: rename server error Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> remove dead code Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> NOISSUE - Fix CI script (#1613) * Fix CI script Signed-off-by: dusanb94 <[email protected]> * Fix linter errors Signed-off-by: dusanb94 <[email protected]> * Add timeout to linter Signed-off-by: dusanb94 <[email protected]> Signed-off-by: Arvindh <[email protected]> Specify size of channel Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Arvindh <[email protected]> Add: load configuration function Signed-off-by: Arvindh <[email protected]> change: load config from env with pkg caarlos0/env Signed-off-by: Arvindh <[email protected]> * change: mfdatabase to internaldb Signed-off-by: Arvindh <[email protected]> * fix: merge resolve error Signed-off-by: Arvindh <[email protected]> * fix: merge resolve error Signed-off-by: Arvindh <[email protected]> * fix: merge resolve error Signed-off-by: Arvindh <[email protected]> * remove: unused variables Signed-off-by: Arvindh <[email protected]> * add: address variable in servers Signed-off-by: Arvindh <[email protected]> * move: postgres connect to internal Signed-off-by: Arvindh <[email protected]> * add: client wrapper for most used Signed-off-by: Arvindh <[email protected]> * add: client wrapper for env Signed-off-by: Arvindh <[email protected]> * unify : auth, bootstrap, cassandra reader Signed-off-by: Arvindh <[email protected]> * unify : bootstrap code Signed-off-by: Arvindh <[email protected]> * unify : cassandra writer Signed-off-by: Arvindh <[email protected]> * fix: struct tag to envDefault Signed-off-by: Arvindh <[email protected]> * fix: grpc prefix Signed-off-by: Arvindh <[email protected]> * fix: env parser Signed-off-by: Arvindh <[email protected]> * fix: alt prefix Signed-off-by: Arvindh <[email protected]> * fix: env default tag Signed-off-by: Arvindh <[email protected]> * fix: auth grpc config Signed-off-by: Arvindh <[email protected]> * changes: internal approch and service start Signed-off-by: Arvindh <[email protected]> * unify: http adapter service Signed-off-by: Arvindh <[email protected]> * remove: unused code in http adapter" Signed-off-by: Arvindh <[email protected]> * fix: config environment variable tags Signed-off-by: Arvindh <[email protected]> * unify: timescale writer Signed-off-by: Arvindh <[email protected]> * unify: timescale reader Signed-off-by: Arvindh <[email protected]> * unify: thing main.go Signed-off-by: Arvindh <[email protected]> * unify: smtp-notifier Signed-off-by: Arvindh <[email protected]> * unify: smpp-notifier Signed-off-by: Arvindh <[email protected]> * unify: postgres reader and writer Signed-off-by: Arvindh <[email protected]> * unify: twins Signed-off-by: Arvindh <[email protected]> * unify Signed-off-by: Arvindh <[email protected]> * unify certs main.go Signed-off-by: Arvindh <[email protected]> * unify certs main.go Signed-off-by: Arvindh <[email protected]> * unify coap main.go Signed-off-by: Arvindh <[email protected]> * unify lora main.go Signed-off-by: Arvindh <[email protected]> * fix fatalf Signed-off-by: Arvindh <[email protected]> * unify mqtt main.go Signed-off-by: Arvindh <[email protected]> * unify mqtt main.go Signed-off-by: Arvindh <[email protected]> * unify ocpua adapter main.go Signed-off-by: Arvindh <[email protected]> * fix case Signed-off-by: Arvindh <[email protected]> * unify ws_adapter Signed-off-by: Arvindh <[email protected]> * unify ws_adapter Signed-off-by: Arvindh <[email protected]> * unify ws_adapter Signed-off-by: Arvindh <[email protected]> * add : comment and spacing Signed-off-by: Arvindh <[email protected]> * fix: lint errors Signed-off-by: Arvindh <[email protected]> * fix: lint errors Signed-off-by: Arvindh <[email protected]> * fix: main.go config load Signed-off-by: Arvindh <[email protected]> * fix: main.go config load Signed-off-by: Arvindh <[email protected]> * fix: auth main.go keto config Signed-off-by: Arvindh <[email protected]> * remove: package internal/sqlxt Signed-off-by: Arvindh <[email protected]> * code format : internal/client/grpc/connect.go Signed-off-by: Arvindh <[email protected]> * fix: inline code Signed-off-by: Arvindh <[email protected]> * fix: code format Signed-off-by: Arvindh <[email protected]> * fix: inline and code format Signed-off-by: Arvindh <[email protected]> * fix: moved to single block Signed-off-by: Arvindh <[email protected]> * fix: moved to single block Signed-off-by: Arvindh <[email protected]> * fix: export function comments Signed-off-by: Arvindh <[email protected]> * fix: export function comments Signed-off-by: Arvindh <[email protected]> * fix: export function comments Signed-off-by: Arvindh <[email protected]> * fix: export function comments Signed-off-by: Arvindh <[email protected]> * fix: export function comments Signed-off-by: Arvindh <[email protected]> * remane: newtracer.go to tracer.go Signed-off-by: Arvindh <[email protected]> * renamee: authClient.go and thingsClient.go to client.go Signed-off-by: Arvindh <[email protected]> * remove space Signed-off-by: Arvindh <[email protected]> * add: jaeger default value Signed-off-by: Arvindh <[email protected]> * fix: cassander config default values Signed-off-by: Arvindh <[email protected]> * rename file Signed-off-by: Arvindh <[email protected]> * fix: postgres client config default values Signed-off-by: Arvindh <[email protected]> * add setup with default config Signed-off-by: Arvindh <[email protected]> * fix: mongo client config default values Signed-off-by: Arvindh <[email protected]> * add: postgres default db name in services Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for auth Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for bootstrap Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for cassandra-reader Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for cassandra-writer Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for certs Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for coap Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for http-adapter Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for influx-reader Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for influx-writer Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for lora Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for mongodb-reader Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for mongodb-writer Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for mqtt Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for opcua Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for postgres-reader Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for postgres-writer Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for smpp-notifier Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for smtp-notifier Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for things Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for timescale-reader Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for timescale-writer Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for twins Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for users Signed-off-by: Arvindh <[email protected]> * fix: environment variable default for ws Signed-off-by: Arvindh <[email protected]> * fix: unused variables Signed-off-by: Arvindh <[email protected]> * empty commit Signed-off-by: Arvindh <[email protected]> * add comments Signed-off-by: Arvindh <[email protected]> * fix: redis env variables Signed-off-by: Arvindh <[email protected]> * fix: adapter ports and postgres db name Signed-off-by: Arvindh <[email protected]> * fix: adapter ports Signed-off-by: Arvindh <[email protected]> * comments aligned Signed-off-by: Arvindh <[email protected]> * rename cassandra session variable Signed-off-by: Arvindh <[email protected]> * rename influxdb and influx to influxDB Signed-off-by: Arvindh <[email protected]> * rename EsConsumername to ESConsumerName Signed-off-by: Arvindh <[email protected]> * made comments consistant Signed-off-by: Arvindh <[email protected]> * made comments consistant & remove empty lines Signed-off-by: Arvindh <[email protected]> * made comments consistant & renmae function Signed-off-by: Arvindh <[email protected]> * made comments Signed-off-by: Arvindh <[email protected]> * comments added Signed-off-by: Arvindh <[email protected]> * fix bootstrap Signed-off-by: Arvindh <[email protected]> * fix empty env var Signed-off-by: Arvindh <[email protected]> * remove : unused variable Signed-off-by: Arvindh <[email protected]> * update: env parser library Signed-off-by: Arvindh <[email protected]> * fix: mongodb reader and writer Signed-off-by: Arvindh <[email protected]> * fix: cassandra reader and writer Signed-off-by: Arvindh <[email protected]> * rename: directory Signed-off-by: Arvindh <[email protected]> * rename: variable Signed-off-by: Arvindh <[email protected]> * remove: unused librar Signed-off-by: Arvindh <[email protected]> * Format code and remove unused comments Signed-off-by: dusanb94 <[email protected]> * Fix tests Signed-off-by: dusanb94 <[email protected]> * Move test URL construction out of the loop Signed-off-by: dusanb94 <[email protected]> * remove end dot in single line comments Signed-off-by: Arvindh <[email protected]> * empty Signed-off-by: Arvindh <[email protected]> --------- Signed-off-by: Arvindh <[email protected]> Signed-off-by: 0x6f736f646f <[email protected]> Signed-off-by: Manuel Imperiale <[email protected]> Signed-off-by: zhangchuanfeng <[email protected]> Signed-off-by: dusanb94 <[email protected]> Signed-off-by: fbugarski <[email protected]> Co-authored-by: Dušan Borovčanin <[email protected]> Co-authored-by: Drasko DRASKOVIC <[email protected]> Co-authored-by: b1ackd0t <[email protected]> Co-authored-by: Manuel Imperiale <[email protected]> Co-authored-by: 张传峰 <[email protected]> Co-authored-by: Ivan Milošević <[email protected]> Co-authored-by: __touk__ <[email protected]> Co-authored-by: Mirko Teodorovic <[email protected]> Co-authored-by: stefankovacevic123 <[email protected]> Co-authored-by: ibalboteo <[email protected]> Co-authored-by: Ivan Balboteo <[email protected]> Co-authored-by: Hasan98-git <[email protected]> Co-authored-by: Hasan Tariq <[email protected]> Co-authored-by: fuzhy <[email protected]> Co-authored-by: Filip Bugarski <[email protected]>
What does this do?
Changes the messaging broker from NATS to RabittMQ
Which issue(s) does this PR fix/relate to?
Resolves #1416
List any changes that modify/break current functionality
Have you included tests for your changes?
Not yet. Will include after approval
Did you document any new/modified functionality?
Not yet
Notes
N/A