* Adding `initialOffset` option to Kafka binding and pubsub components
* Only allow oldest and newest
* Fix tests
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* Support Azure AD auth for Cosmos DB
* Fixed linting errors
* Tidying go.sum
* Removed the need for nolint:shadow
Co-authored-by: Simon Leet <31784195+CodeMonkeyLeet@users.noreply.github.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
- Update azure-event-hubs-go dependency to currently supported v3 with
IoT Hub SystemProperties.
- Write Event.SystemProperties to ReadResponse.Metadata for EventHubs
input binding.
- Write Event.SystemProperties to NewMessage.Metadata for EventHubs
pubsub.
* fix: Mysql should support more data types. #923
* go fmt
* fix lint issue
* revise according to the review comment
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Update Zeebe to version 1.0
* Fix lint error regarding import
* Don't panic on error
* Log error as string
* Pass reason msg to process engine on fail job command
* Pass job specific variables as headers to a worker
* Fix formatting issue
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* Move pubsub redis client to internal
* Add failover for common redis. Refactor state redis.
* refactor binding redis
* fix lint
* Refactor to setting partten
* fix db and lint
* fix lint
* for backward compatibility
* Using a type alias to handle decoding duration values of -1 for Redis.
* Linter fixes
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
* mqtt: implement Close
Signed-off-by: Long Dai <long0dai@foxmail.com>
* feedback
Signed-off-by: Long Dai <long0dai@foxmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Add bindings dingtalk-webhook
* Fix lint
* Fixing logger dependency
* Updated tests
* Tweaks to use the "settings pattern"
* Make webhooks global again
* Update sync.map to built-in map and RWMutex
* Fixing linter errors
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Add bindings rocketmq
* Fix lint
* Update parseMetadata
* Update logger import
* Tweaks to use "the settings pattern"
* Add back off policy configuration
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* no message
* Switching over usages of retry to the new package and making use of the DecodeConfig function
* Added decoding configuration using settings with a specific prefix
* Linter fixes
* Fixing linter error
* time.Sleep is the enemy
* Fix typo in comment
* Moving config to a pointer parameter so that the component can pass in the config with default values that make sense for that component.
* Renamed config struct
* Fix comment
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* master:
add handle timeout to cancel req for it would be redelivered (#832)
Add optional metadata param maxLen for redis stream PubSub component (#835)
Implement bindings for the Zeebe workflow engine (#806)
Automerge in contrib. (#849)
# Conflicts:
# go.mod
# go.sum
# pubsub/redis/redis.go
* Implement bindings for the Zeebe workflow engine
* Fix PR suggestion regarding error handling
* Refactor cancel_instance test to not use a mocking library
* Refactor all tests to not use a mocking library
* Use error vars
* Fix linting error regarding ineffective error assignment
* Check for mandatory jobType
* Remove double method call
* Fix suggestion regarding mock client instantiation
* Check if either bpmnProcessId or workflowKey is given for workflow instantiation
* Changed logger module to dapr/kit. Misc tweaks.
* Fix go.mod
* Fixing some lint errors
* Ignoring linter false positive
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
resolve conflict
* master:
Increasing overall test timeout to allow for conformance tests to run (#834)
Improve SMTP binding performance (#782)
add redis cluter mode for pubsub (#823)
downgrade the verbosity of lock renewal errors from warn to debug. This error is expected when messages are processed before beingrenewed (#803)
Improve pulsar publisher performance. (#827)
optimze(state/redis): output detail redis error (#825)
Consul nameresolution component (#750)
Add DNS name resolver. Add unit tests. (#743)
Azure Service Bus: Changed log level of error on close to info (#830)
Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807)
Update state/blobstorage.go to add metadata. (#786)
Azure Service Bus publishing retries when server is "too busy" (#821)
# Conflicts:
# bindings/redis/redis.go
# go.mod
# go.sum
# pubsub/redis/redis.go
* Introduced localstorage binding
* Code cleanup
* Linter cleanup
* Linter cleanup
* Now using ioutil.ReadAll() as io.ReadAll() fails to build on Windows
* Renamed metadata field
* Now returning the filename on create
* Now only generating a UUID filename for creates
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Introduced localstorage binding
* Code cleanup
* Linter cleanup
* Linter cleanup
* Now using ioutil.ReadAll() as io.ReadAll() fails to build on Windows
* Renamed metadata field
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* no message
* Removing HTTP input binding from conformance test
* Moving // nolint: noctx
* Fixed linter issue
* Tweaks
* Tweak
* Setting request headers from metadata
* More comments and handling of non-200 response codes
* Fixing conformance test for HTTP
* Temporarily bumping up redis timeouts
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
Co-authored-by: Charlie Stanley <charlie.stanley@microsoft.com>
* mysql outbinding support
* fix lint issues
* use time duration string instead of number of seconds
* correct typo
* use 'addr' instead of 'server' and 'port' in order to align with url in dsn format
* simplify configuration, and allow PEM configurable
* jsonfy the query result
* add more unit test for mysql binding
* add unit test to verify timestamp
* add type verify in integration test
* add test to verify BOOLEAN
* update comment
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Create Apple Push Notification Output Binding
I created the apns package and created apns.go to implement the output
binding to send push notifications to Apple devices using the Apple Push
Notification Service.
* Refactor Code
I refactored and cleaned up the source code in apns.go. I made the code
easier to read and understand. I split out the JWT generation into
authorization_builder.go. I split out the create operation code into
create_operation.go and refactored it to follow a pipeline pattern.
I created doc.go and added documentation for how to use the APNS binding
to send push notifications to Apple devices.
* Fix Lint Issuer
I corrected issues reported by golangci-lint in the pull request. I ran
gofumpt against the test cases for the APNs binding. I fixed a naming
error in create_operation.go.
* Address Review Comment
I revised extractKeyID in apns.go to address a readability concern in
the code. I simplified the if/else block to make the logic easier to
understand.
* Add License Header to APNs Binding
I added the standard Microsoft copyright and MIT license header to the
source files for the APNs binding. This was requested from the PR
review.
* Revise APNS.extractTeamID for Readability
Per a PR comment, I revised the APNS.extractTeamID function to make the
function more readable.
* Revise APNS Create Operation
I revised the APNS create operation based on discussions in the PR
(#481). I deleted create_operation.go and merged the code back into the
main APNS type to simplify the code.
* Fix Linter Errors
I fixed linter errors reported in apns.go.
* Fix Code Review Comments
I switched from using encoding/json for JSON encoding and decoding to
using jsoniter.
I updated authorization_builder.go to define the expiration period as a
constant and provided a comment describing the need for and use of the
expiration period.
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Mark Chmarny <mchmarny@users.noreply.github.com>
Co-authored-by: Young Bu Park <youngp@microsoft.com>
* rethinkdb state store
* added actor state change binding
* updated db record
* reconnect
* passing lint
* updated binding repsonse keys
* rethinkdb load test
* lint validated tests
* updated comments
* updates TransactionalStateRequest
* parameterized table
* correct error message
Co-authored-by: Young Bu Park <youngp@microsoft.com>
* update logger form nats-io's to dapr's
* run go mod tidy and go mod delete the nats-io gnatsd
* update rabbitmq prefetch feature because want to set each instance the number of messages could hold in once until ack.
* update for parse int
* update parseMetadata of rabbitMQ to read prefetchCount by string.
* [update rabbitMQ binding parseMetadata] Make error clear
* [in rabbitMQ metadata parse] fix the bug of golint
* update rabbitMQ with a new parseMetadata way.
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Change Kubernetes client to official go-client in the events binding.
* Change adding flags to init
* go mod tidy
* Proper call for handler
* Remove commented out code
* Refactor indentation
* Use shared sqs auth package
* Goimports-ed files
* Added support for endpoint param in aws credentials abstraction, since the sqs-sns pubsub module required it
* Added endpoint support for all aws things
* Updated tests
* Use implicit creds by default, explicit if specified
* Remove log lines
* Support implicit region as well
* gofmt-ed file
* removed a newline
* Use a separate package for aws auth stuff
* Rename + alias imports
* gofmt
* goimportsed file
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* event grid udpates
* Initial event grid input binding
* Added Write() support to EventGrid component
* Updated eventgrid binding to use fasthttp instead of net/http
* Fixed linting issue in EventGrid binding
* Tidy up go.mod
* Added handshakePort to allow custom port for EG callback
* Now properly throwing an http 500 on handler err
* Updated event grid sdk for cloud event 1.0 support
Added support for all event grid sources via scope
Now validating required metadata on read/write
* Updated tests
* Fixed linting issue
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Young Bu Park <youngp@microsoft.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* event grid udpates
* Initial event grid input binding
* Added Write() support to EventGrid component
* Updated eventgrid binding to use fasthttp instead of net/http
* Fixed linting issue in EventGrid binding
* Tidy up go.mod
* Added handshakePort to allow custom port for EG callback
* Now properly throwing an http 500 on handler err
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Young Bu Park <youngp@microsoft.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
* Added first cut of SendGrid binding
* Removed some junk
* tidy up based on PR review comments
Removed duped line, and logging, normalised error messages
* Silly mistakes on emailTo and subject checks
* Moving to new twilio folder structure
* adds BCC and CC, better error handling
* microscopic comment typo
* linter was complaining
* removing my accidental docs commit
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>
* Add message ttl for Azure Service Bus/Storage Queue
and RabbitMQ
* Rename metadata key to ttlInSeconds
Move defaultQueueTTL to RabbitMQ metadata
* Move integration tests to own files
* Add +build integration_test tag
* Remove integration test skip
Co-authored-by: Aman Bhardwaj <amanbha@users.noreply.github.com>
* Object storage implementation for AliCloud
* linting fixes
* fixed comments and ran "go mod tidy" based on the feedback
Co-authored-by: Yaron Schneider <yaronsc@microsoft.com>
* Need to change the AppResponse struct to have the store name and state requests separately to support multiple state stores support in Dapr.
This is needed to support this requirement : dapr/dapr#636
* Putting the state in a separate struct
* Reverting the last commit - and keeping the things simple, just adding the storeName in the struct
* folders and files
* boilerplate added
* write queue done
parse metadata done
* refactor of init and write
* All done
* lint updates
* Additional lint fixes
* lint simplifications
* UPdated to make testable
Make read blocking
* working tests
* linting fix
* Added backoff so we dont eat CPU
* go mod tidy to fix error
* fixed test failures
* Fixed lint error
* Add Azure SignalR binding
* Fixes from go lint
* Go lint
* Use "github.com/dgrijalva/jwt-go" for jwt
Fix bug parsing connection string
Normalize usage of len vs == in strings
* Consistent usage of http header Set
Changing the names of the packages directory so to be consistent with name of the company .
It is to be noted that package name can not have hyphen "-" in the name.
So changing the directory names and putting under company names.
For example - dynamodb package would be
dapr/components-contrib/bindings/aws/dynamodb
* Initial commit
* Fixed all linting error
* Used prepared query instead of string format
* Enabled linter for test
Enabled below linters
- gochecknoglobals
- gochecknoinits
* Enabled below linters
- godox
- interfacer
- maligned
* Revert name change for StateStore in pkg state
* Incorporate review comments
* Cleanup the github ci
* Correct typo
* Add golangci-lint version in github ci step
* Update Readme.md