* Update docs with new connection endpoints
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix empty key bug
Return key that was absent from things that are returned in
connections endpoint.
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* MF-448 - Add option to connect to DB with verify-ca and verify-full
Adds the option to connect with verify-ca and verify-full
Users can now specify any extra certs and keys they may need.
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* Passing db config struct rather than seperate parameters
Also updated the tests to use the config
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* Unexporting fields apart of users config
Also added comments to the newly exported Config in things & users postgres/init.go
Signed-off-by: MichaelFinley <Michael.Finley@target.com>
* Move CLI documentation from getting started guide to seperate page
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Fix cli usage examples in readme and docs
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Update "getting started" docs with CLI usage
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Update CLI description
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Update CLI docs with help flag
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* MF-448 - Option for Postgres SSL Mode
Adds an option to choose the ssl mode when connecting to postgres.
Only supporting disable or require for now with verify-ca and verify-full to come after more discussion.
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Changing package name back
Accidentally changed the package name so reverting that!
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Adding section in getting-started for securing pgsql connections
Signed-off-by: Michael Finley <Michael.Finley@target.com>
* Fix empty protobuf values
Update Normalizer service and .proto files. Reader and Writer services
needs to be updated due to message format change.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update HTTP adapter to use gogo protobuf
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Reader services API
Update API or Reader services to match Message changes due to switching to gogo/proto.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update InfluxDB services
Update InfluxDB Reader and Writer services to match new Message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update MongoDB services
Update MongoDB Reader and Writer services to match new message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra services
Update Cassandra Reader and Writer service to match new Message format.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB Reader test
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Makefile and docs accordingly
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix possible data race in InfluxDB writer
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update InfluxDB Writer tests
Raise test coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB reader
Fix wrong ValueSum readings. Upadete tests and raise coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update MongoDB services tests
Raise test coverage for MongoDB Reader and Writer services.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Readers API tests
Raise test coverage.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Raise test coverage
Update Cassandra Reader and Writer services tests.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Use gogo/protobuf in CoAP adapter
Add gogo/protobuf to Gopkg.toml and update dependencies.
Update Dockerfile to run `make proto`.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra Reader tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Refactor code
Improve code style and comments to improve readability.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Rename Sum to SumValue
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Rename Values to Value
Since message contains only single value (or possibly no value at all),
`Values` name could be misleading. Rename simple double value from
`Value` to `FloatValue` accordingly.
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Fix InfluxDB Reader logging
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Replace exclusive if statements with switch-case
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Update Cassandra services tests
Signed-off-by: Dusan Borovcanin <dusan.borovcanin@mainflux.com>
* Add pull request template
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Fix formatting in docs
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Fix link for contributing guidelines
Signed-off-by: Ivan Milošević <iva@blokovi.com>
* Add development Docker images build
Add Dockerfile.dev and target in the Makefile to provide much faster image
building for `development purposes`.
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Build single service in dev mode
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Update docs
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix Makefile
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fix dev-guide
Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
* Fixes#337
Signed-off-by: Jovan Kostovski <chombium@gmail.com>
* added create table if not exists
Signed-off-by: Jovan Kostovski <chombium@gmail.com>
* added test target in sync with Semaphore CI
Signed-off-by: Jovan Kostovski <chombium@gmail.com>
* added warning about the possible data loss
Signed-off-by: Jovan Kostovski <chombium@gmail.com>
* Improved getting started docs
Better explaination of how to send messages to a channel using websockets.
Added a basic nodejs example
Signed-off-by: Marco Ferragina <marco.ferragina@gmail.com>
* Added leading slash
Signed-off-by: Marco Ferragina <marco.ferragina@gmail.com>
* added some comments to example code in docs
Signed-off-by: Marco Ferragina <marco.ferragina@gmail.com>
* Add redis for message persistence
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Add redis to docker composition
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Fix mqtt publish command in documentation
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update documentation with new environment variables
Signed-off-by: Aleksandar Novakovic <aleksandar.novakovic@mainflux.com>
* Update content-type header in load tests
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Remove charset from content type header in documentation
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add initial load tests
Add initial load tests for client creation and message publishing.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Make load tests executable as stand-alone application
Move code from test to main. Make code runnable with sbt run command.
Remove unnecessary config files.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add native packager support
Add native packager plugin. Update sbt config to support native
packager. Update paths in Engine.scala.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Move files back to test folder and remove native packager support
Remove nativa packager plugin. Add gatling plugin and move files to
test folder where they belong. Read vars from JAVA_OPTS instead of
environment variables.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add readme file for load tests
Add readme file for load tests with usage instructions.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add number of requests per second as test parameter
Add number of requests per second as parameter. Update read me according
to this addition.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add load test section in docs
Create documentation skeleton for load tests.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Reformat logger config file
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update documentation skeleton
Move results section to scenarios. Move test environment to intro.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Align test version with mainflux version
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update mainflux version to 0.2.2
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add pagination to clients and channels endpoints
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Refactor code
Change method signature and rename Bulk methods back to All.
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Rename transport_test.go to endpoint_test.go
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Fix manager tests to support pagination
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Add default offset and limit support
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Update docs
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Update tests to support pagination
- Move maxLimitSize checking to request validation.
- Add tests to support pagination.
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Fix handling query params for pagination
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Fix empty result set
Return empty results if invalid offset and limit is passed to channel and client repository.
Update tests accordingly.
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Update manager API docs
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Fix response to invalid limit query param
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Remove offset and limmit checks in repository methods
Signed-off-by: Dušan Borovčanin <borovcanindusan1@gmail.com>
* Add websocket adapter
Add websocket adapter with basic logging and metrics middleware.
Add publish and subscribe to NATS subjects using websocket.
Add websocket handshake authorization over mainflux manager.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add test for websocket publish
Add test for websocket adapter's publish method. Add dependecy
injected logger to adapter. Remove unnecessary manager client
dependency from adapter.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add websocket library in dependencies
Add gorilla/websocket dependency in dep toml and lock file.
Add dependency in vendor dir.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add direct websocket connection
Add direct websocket connection. While messages are still beeing
published over NATS, they are not received over src.ws subject
in WebSocket adapter. Instead messages are sent directly over
websocket connection.
Add swagger file for WebSocket handshake endpoint. Update ReadMe
to reference new swagger file.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactore websocket adapter code
Extract listen part from handshake. Update WebSocket adapter code.
Fix subscribe to NATS subject, so that it is independent from other
adapters. Remove message base64 encoding from response..
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Remove connection management from websocket adapter
Align notion of channel with NATS topic. Remove connection
management from adapter logic. Add log messages to adapter's
transport layer.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update NATS subjects and add subscriber interface
Update NATS subject name to channel.<channel_id>. Add and implement
subscriber interface. Implement subscriber interface in adapter.
Update readme to use new make <service_name> command. Refactor code.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add basic tests for broadcast and subscribe
Improve mock implementation of NATS pubsub. Add multiple basic test
cases for broadcast and subscribe methods. Add logging for subscribe.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add listen method test
Add listen method test and refactor existing tests. Refactor listen
method in adapter.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Move broadcast method to message broker interface
Refactor broadcast method to receive send message callback and message
that needs to be sent. Update tests accordingly.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update pubsub API
Remove listen method from public API. Move listen call to subscribe
implementation. Update domain pubsub API in project root.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add connection error handlers to adapter API
Update publish and subscribe API to receive connection error handler.
Update tests accordingly. Handle NATS connection error.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update logs
Replace go-kit logger with custom mainflux logger. Update log messages
where needed..
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactor web socket adapter
Remove MessagePubSub interface. Remove unnecessary callbacks. Add
channels to web socket adapter implementation.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add API layer tests
Update existing tests and add API layer tests.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Update docs with web socket related data
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Refactor web socket adapter
Update subscription struct, and refactor listen and broadcast methods.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Add version and metrics endpoint to ws adapter
Update version to 0.2.0.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Fix race condition bug in ws adapter test
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Rename listen to broadcast and broadcast to listen
Switch names between listen and broadcast methods. Move channel
structure to service.go.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
Update documentation with example requests and responses in accordance
with new API changes. Add detailed flow explanation. Update readme with
valid snippet.
Signed-off-by: Aleksandar Novakovic <anovakovic01@gmail.com>
* Copy basic docs contents to the main repo
Signed-off-by: Dejan Mijic <dejan@mainflux.com>
* Include licensing and contributing info to docs
Signed-off-by: Dejan Mijic <dejan@mainflux.com>
* Create documentation skeleton
Signed-off-by: Dejan Mijic <dejan@mainflux.com>