Commit Graph

281 Commits

Author SHA1 Message Date
Bernd Verst 462e2faadc Upgrade linter and fix linter issues
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-11-11 13:19:57 -08:00
Bernd Verst ede060959a
Refactors all state store to standardize metadata parsing (#2257) 2022-11-05 15:36:44 -07:00
Alessandro (Ale) Segala ca3e80b76b
Updated depguard linter config (#2245)
* Updated depguard linter config

1. Add older (pre-v4) versions of `github.com/cenkalti/backoff` to the denylist
2. Add `github.com/agrea/ptr` to the denylist (use `github.com/dapr/kit/ptr` instead)
3. Fixed error messages for denied deps

Port of dapr/dapr#5438

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* ⚙️🧹

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Remove some github.com/pkg/errors

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* make modtidy-all after rebase

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2022-11-03 22:19:21 -07:00
ItalyPaleAle 5c65015987 Fixed unit tests
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-01 19:48:28 +00:00
ItalyPaleAle f412ecfbc9 Avoid logging PII
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-01 19:25:57 +00:00
ItalyPaleAle 8c617817a8 Fixed: MySQL was not actually using transactions
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-01 16:53:34 +00:00
ItalyPaleAle c5847890ee Added timeouts to operations
Using new metadata option timeoutInSeconds

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-01 16:43:22 +00:00
ItalyPaleAle 576c62b0f1 Added tests for metadata properties schemaName/tableName
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-11-01 16:27:16 +00:00
Bernd Verst b9654bd979 upgrade to v5 of jackc/pgx
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-10-10 15:08:07 -07:00
Alessandro (Ale) Segala f15a50581d
Component metadata schema and tools (#2077)
* Component metadata schema and tools

Includes tools to generate and validate components' schema, and a CI check to ensure the schema is always up-to-date.

Also, includes schemas for 4 components as a starter

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Changed version as requested

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* fix workflow

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-09-27 10:44:54 -07:00
Dapr Bot 33ee68aee6
Merge branch 'master' into memcached_certification_i1929-rebased 2022-09-23 13:56:07 -07:00
Bernd Verst ea219576df
Apply suggestions from code review
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-09-23 13:42:45 -07:00
Ryan Lettieri 02645149b5 Changing greater than symbol to greater than or equals logic in cosmos statestore
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-23 14:27:06 -06:00
Ryan Lettieri 93708273d4 Removing page size option from cosmos statestore
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-23 14:15:41 -06:00
Ryan Lettieri 0b8d937ccd Fixing page limit on cosmosdb
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-23 14:04:15 -06:00
Tiago Alves Macambira 8e4af0a3a4 Certification tests for MemCached State Store component.
* Add network instability tests.
* Fixed gofumpt issues.
* Addresses TTL translation from Dapr and Memcache domains.

    Memcached uses `0` as the non-expiring marker TTL.
    [src](https://github.com/memcached/memcached/wiki/Commands#set).

    On the other hand, Dapr uses `-1` for that.
    [src](https://docs.dapr.io/developing-applications/building-blocks/state-management/state-store-ttl/)

    This PR updates certification and memcached code and tests so Dapr -1 (and negative)
    values are translated to Memcached's `0`.

Closes #1929

Signed-off-by: Tiago Alves Macambira <tmacam@burocrata.org>
2022-09-22 18:26:55 -07:00
Ryan Lettieri aa0228becd Cleaning up transactional code in cosmosdb statestore
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-16 15:04:30 -06:00
ItalyPaleAle 3c2e82a0e7 💄
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-09-16 20:49:14 +00:00
ItalyPaleAle cec34b9a95 💄
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-09-16 20:44:40 +00:00
ItalyPaleAle 0ed1a8acf0 Misc fixes
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-09-16 20:32:02 +00:00
ItalyPaleAle fd881e20f7 Use dapr/kit/ptr instead of old ptr
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
2022-09-16 19:41:48 +00:00
Ryan Lettieri 79c039c08d Using helper method to grab partition key or default to empty string
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-16 12:44:06 -06:00
Ryan Lettieri 097737f6cd Adding timeout to transactional batch in comsosdb statestore
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-15 16:58:09 -06:00
Ryan Lettieri 705070036d Fixing conformance test for cosmosDB for track2sdk
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-15 14:58:58 -06:00
Ryan Lettieri 5d112f4d33 Fixing linter issues
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-14 15:58:57 -06:00
Ryan Lettieri 8a9b4b4986 Updated cosmos query to be compliant with new format/structure
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-14 15:50:58 -06:00
Bernd Verst b68448184b Merge remote-tracking branch 'upstream/master' into Cosmosdb_track2 2022-09-14 14:06:58 -07:00
Crypt Keeper b379f80b75
middleware: changes wasm basic to use waPC (#1833)
Updates wasm basic middleware and simplifies some code inside of it,
notably by using [waPC](https://github.com/wapc/wapc-go).

This changes the entrypoint function to be named "rewrite" and
uses a pool because known memory allocators are not goroutine
safe.

Signed-off-by: Adrian Cole <adrian@tetrate.io>

Signed-off-by: Adrian Cole <adrian@tetrate.io>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
2022-09-13 17:12:59 -07:00
Ryan Lettieri 8425950aac Temporary revert of cosmosdb item marshalling
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-13 11:19:22 -06:00
Ryan Lettieri 97a91c0b8f Changing cosmos header checks to lower case
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-09 14:08:45 -06:00
Ryan Lettieri 34c24ba994 Adding capability for cross partition query in cosmos with track2SDK
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-09 13:52:49 -06:00
Bernd Verst 5d7367c335 CosmosDB State: Use document enveloped, handle doc NotFound
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-09-09 00:24:48 +00:00
Bernd Verst f1a2dd75f5 Return CosmosDB State Features correctly
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-09-08 16:04:19 -07:00
Ryan Lettieri 8fd5822a5c Removing unncessary features from cosmosdb
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-08 15:25:34 -07:00
Ryan Lettieri 9189ddc4dc Adressing review comments for cosmosdb statestore track2sdk
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-08 15:25:34 -07:00
Ryan Lettieri e012a807b7 Upgrading cosmosdb statestore to track2SDK
Signed-off-by: Ryan Lettieri <ryanLettieri@microsoft.com>
2022-09-08 15:25:33 -07:00
Marcos Candeia b85ed188e8 Create QueryFields object to avoid multiples json unmarshalling
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
2022-08-31 19:47:27 -03:00
Marcos Candeia b1e1dc5043 Query API: Set filters when unmarshalling
Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
2022-08-31 17:17:26 -03:00
Mike Brown 13cef6cba1
dymamodb state: add support for first write concurrency
The existing logic for the dymamodb state store does not respect the
FirstWrite concurrency option for a SetRequest when etags are not used
by the client. This commit fixes the issue by employing a conditional
expression to test for the existence of an item when FirstWrite is
specified and etags are not.

Signed-off-by: Mike Brown <github@torvosoft.com>
2022-08-30 12:11:45 -04:00
Mike Brown 964c208977 dynamodb state: add support for etags
In order to safely support concurrent updates to existing state items
clients should employ etags. (For reference please see
tinyurl.com/5n83tnfp). Existing support for AWS DynamoDB does not
include support for etags. This change introduces etag support for AWS
DynamoDB utilizing conditional expressions (reference
tinyurl.com/5du587m8).

Signed-off-by: Mike Brown <github@torvosoft.com>
2022-08-26 11:34:03 -07:00
Mike Brown ad84226cf4 dynamodb state: refactor common Set() & BulkSet() logic
Both Set() and BulkSet() contained duplicate logic to convert a dapr
state.SetRequest into a map[string]*dynamodb.AttributeValue. This
change refactors that logic into a new utility function
getItemFromReq(). This will ensure that subsequent changes to add
missing features (e.g. etag) will only have to be expressed once.

Signed-off-by: Mike Brown <github@torvosoft.com>
2022-08-26 11:34:03 -07:00
Bernd Verst 5aae9c1126
RethinkDB: Remove falsely advertised transation support. (#2020)
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-26 10:04:46 -07:00
Bernd Verst 587156bead
Enable conformance tests for rethink db. Make it Beta. Remove Etag feature. (#2015)
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-26 09:04:19 -07:00
Alessandro (Ale) Segala bcea284c7b
Components' init functions should return interfaces (#1997)
* Components' init functions should return interfaces

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* 💄

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* pin latest berndverst contrib fork

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Fixed component registration in tests

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Updated all cert tests

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-25 18:27:45 -07:00
addjuarez b9e1408d69
Fix typos in Apache Cassandra logs (#2010)
Signed-off-by: Addison Juarez <adjuarez@microsoft.com>

Signed-off-by: Addison Juarez <adjuarez@microsoft.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-25 17:28:07 -07:00
Marcos Candeia 8964d8bf41
Define common metadata across components (#1994)
* Add base metadata for all components

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>

* Fix lint issues on consul and mysql tests

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>

* Pin candeia/dapr runtime version

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>

* Add replace directive to use mcandeia/dapr on all go submodules

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>

* Fixed runtime config instantiation

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>

Signed-off-by: Marcos Candeia <marrcooos@gmail.com>
2022-08-25 10:10:53 -07:00
Alessandro (Ale) Segala 8b48210e3e
Fixes to MySQL state store (#1978) 2022-08-18 11:50:53 -07:00
Bernd Verst e87cd5e4cb
Go 1.19 support and linter fixes (#1975)
* Go 1.19 support and linter fixes

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Update workflows for Go1.19 and new linter version

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Remove unnecessary space in nolint directive

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* disable additional linters which aren't used because of Go generics

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* enable gosec linter again

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Update bindings/zeebe/command/publish_message_test.go

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Update bindings/output_binding.go

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Use prepared statement for mysql table creation

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Ping is not ping

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* c'mon linter

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* Fix MySQL gosec issue

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

* revert mysql to be fixed later

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-18 00:45:23 -07:00
Bernd Verst 1edd408b9b
Fix CosmosDB state store handling of nulls (#1974) 2022-08-17 21:20:25 -07:00
qiangmzsx 79a3cd990a
Removing the use of the ioutil package And Fix CVE-2021-42576 (#1954)
* fix CVE-2021-42576

Signed-off-by: qiangmzsx <qiangmzsx@gmail.com>

* Removing the use of the ioutil package

Signed-off-by: qiangmzsx <qiangmzsx@gmail.com>

* Update middleware/http/nethttpadaptor/nethttpadaptor.go

Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>

Signed-off-by: qiangmzsx <qiangmzsx@gmail.com>
Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
2022-08-10 13:45:00 -07:00