Commit Graph

162 Commits

Author SHA1 Message Date
Asim Aslam
7b379bf1f1
WIP: Add metadata to store record (#1604)
* Add metadata to store record

* Add metadata to cockroach store

* add metadata to store service implementation

* fix breaking cache test

* Test/fix cockroach metadata usage

* fix store memory metadata bug
2020-06-03 09:45:08 +01:00
Asim Aslam
6a661fd08c
check if the db conn is nil before doing anything (#1652) 2020-05-20 14:03:38 +01:00
Ben Toogood
410fec8ee4 Fix auth bug 2020-05-13 16:49:17 +01:00
Ben Toogood
efb64b7dbb Pass client to more of the runtime 2020-05-11 17:57:39 +01:00
Ben Toogood
506006f0fa Auth Options 2020-05-11 11:47:59 +01:00
ben-toogood
5387f73b5d
Handle cockroach createDB error (#1603) 2020-05-06 10:58:14 +01:00
Asim Aslam
08a2de1ef5 Account for missing options database/table in cockroach store 2020-05-01 15:31:55 +01:00
Asim Aslam
7a2dea6cc2 Set database/table from init first 2020-05-01 15:22:44 +01:00
Asim Aslam
e8105d22ad cruft 2020-05-01 00:25:17 +01:00
Asim Aslam
c76a5e608d sql fixes 2020-04-30 23:53:54 +01:00
Asim Aslam
359b8bc503
Add opts to service proto (#1517)
* Add opts to service proto

* Support database/table opts
2020-04-30 22:51:25 +01:00
268651df18
regenerate all proto based files (#1531)
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-14 16:25:09 +03:00
Asim Aslam
51d4f737b8 fixup store cache# 2020-04-11 12:10:19 +01:00
Asim Aslam
3f81f685df Move sync 2020-04-11 12:00:34 +01:00
Asim Aslam
bb1ccf09e8 prefix store dir 2020-04-11 11:23:41 +01:00
Asim Aslam
6d553cb6fe add whitespace 2020-04-11 09:34:04 +01:00
Asim Aslam
c612d86480 Move sync store 2020-04-11 09:33:10 +01:00
Asim Aslam
d4b2c948dd Remove cloudflare store 2020-04-10 19:50:57 +01:00
Asim Aslam
57853b2849 remove etcd store 2020-04-10 17:43:02 +01:00
Jake Sanders
6a666c9c7d
Add json tags to store.Record (#1518) 2020-04-09 19:38:43 +01:00
Asim Aslam
53549b6b30
Add options for Database/Table (#1516)
* Add options for Database/Table

* fix opts
2020-04-09 17:56:13 +01:00
Jake Sanders
0a27a08184
Add Databases and Tables endpoints to store RPC proto (#1515)
* Add Databases and Tables to store RPC

* add Database to TablesRequest
2020-04-09 16:37:32 +01:00
8c1b477279
store/cockroach: fixup test (#1512)
* store/cockroach: fixup test

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-09 14:58:50 +03:00
Jake Sanders
2e379ca7d0
Don't break the build! 2020-04-09 12:18:02 +01:00
Jake Sanders
2659215d5e
cockroachDB doesn't support this syntax (#1509) 2020-04-09 12:11:24 +01:00
1063b954de
dont display t.Log/t.Logf as errors in github actions (#1508)
* fix tests and github action annotations

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-04-09 14:05:46 +03:00
Jake Sanders
1e7cd8c484
Make the constraint explicit rather than inferred (#1506) 2020-04-08 23:52:35 +01:00
Asim Aslam
45700eaabe set database/table in header 2020-04-08 19:25:57 +01:00
Jake Sanders
77f5cc5023
Fix nil dereference in cloudflare store (#1504) 2020-04-08 13:00:30 +01:00
Jake Sanders
cc027d900e
Close statements, add default table if the store was not initialised through service.Init() (#1502) 2020-04-08 12:08:08 +01:00
Asim Aslam
98fc3dfbad use single data bucket 2020-04-08 09:57:51 +01:00
Asim Aslam
4b0e27413e
add Store Close method (#1500)
* add Store Close method

* Update sync store build failure
2020-04-08 09:51:10 +01:00
Asim Aslam
4cac7dcc48 fix file tests 2020-04-07 19:45:27 +01:00
Janos Dobronszki
038b936ce9
Setting up file store in constructor and not in init which is o… (#1499) 2020-04-07 16:43:43 +02:00
Janos Dobronszki
aaee01b1a7
Use file store by default (as opposed to memory store) (#1498)
* Use file store by default (as opposed to memory store)

* Default table for file store
2020-04-07 15:19:45 +02:00
Jake Sanders
71538adfdc
Explicitly set the table name during service init (#1497) 2020-04-07 13:00:05 +01:00
Janos Dobronszki
2ea5b33955
Disk backed local store (#1491) 2020-04-07 13:53:22 +02:00
Asim Aslam
b5f5027549 Move store scope to util 2020-04-07 02:23:16 +01:00
Jake Sanders
3324d140c0
Rename store Namespace / Prefix options to Database and Table (#1492)
* Rename Namespace to DB, Rename Prefix to table, Remove Suffix Option

* Rename options

* Rename options

* Add store_table option

* Table per service, not Database per service
2020-04-06 16:45:55 +01:00
Asim Aslam
0a15ae9b9d
Move String method (#1467) 2020-04-01 23:27:15 +01:00
Asim Aslam
e1bc0f6288
replace strings for store prefix (#1465)
Co-authored-by: ben-toogood <bentoogood@gmail.com>
2020-04-01 20:19:21 +01:00
9e6db79860
regenerate all proto (#1440)
* regenerate all proto

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* regenerate from proto

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* regenerate from proto

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-30 21:58:32 +01:00
Lars Lehtonen
011a783a9e
store/cockroach: fix dropped test errors (#1419)
Co-authored-by: Asim Aslam <asim@aslam.me>
2020-03-27 10:15:37 +00:00
Jake Sanders
dff98355be Missing ; in SQL query 2020-03-24 23:49:09 +00:00
Jake Sanders
397a8638f4
Cockroach Store bugfix (#1401) 2020-03-24 17:16:38 +00:00
Jake Sanders
eb4d2ae6aa
Remove useless variable from cockroach store (#1400) 2020-03-24 15:37:30 +00:00
Jake Sanders
914340585c
Trim space from env variables (#1399) 2020-03-24 14:51:43 +00:00
Jake Sanders
4c6f68d537
Implement store read cache (#1366)
* Implement store read cache

* Added cache tests and fixed a bug in memory store
2020-03-19 18:19:07 +00:00
Jake Sanders
c91bf7e9e7
[WIP] Store Sync (#1365)
* Initial cache implementation

* Write queue implementation

* Accidentally started writing the storage sync service
2020-03-18 16:39:36 +00:00
Jake Sanders
638c219736
Cockroach store feature completion (#1358)
* Start fixing cockroach store

* Add prefix, suffix, limit, offset for cockroachdb store
2020-03-17 16:15:23 +00:00
ab73127063
grpc client/server fixes (#1355)
* grpc client/server fixes

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-17 14:27:20 +03:00
ben-toogood
247707f583
Return store.ErrNotFound if not found when calling over rpc (#1353)
Co-authored-by: Ben Toogood <ben@micro.mu>
2020-03-16 10:30:56 +00:00
Asim Aslam
e803fb0855
Runtime hacks (#1344)
* Add Args/Image to runtime

* remove the hacks
2020-03-13 18:39:59 +00:00
Asim Aslam
078dd4eb9b
fix etcd (#1340)
* fix etcd

* update go mod
2020-03-13 08:55:23 +00:00
Jake Sanders
1b4e881d74
Rewrite the store interface (#1335)
* WIP store rewrite

* Fix memory store tests

* Store hard expiry times rather than duration!

* Clarify memory test

* Add limit to store interface

* Implement suffix option

* Don't return nils from noop store

* Fix syncmap

* Start fixing store service

* wip service and cache

* Use _ for special characters in cockroachdb namespace

* Improve cockroach namespace comment

* Use service name as default store namespace

* Fixes

* Implement Store Scope

* Start fixing etcd

* implement read and write with expiry and prefix

* Fix etcd tests

* Fix cockroach store

* Fix cloudflare interface

* Fix certmagic / cloudflare store

* comment lint

* cache isn't implemented yet

* Only prepare DB staements once

Co-authored-by: Ben Toogood <ben@micro.mu>
Co-authored-by: ben-toogood <bentoogood@gmail.com>
2020-03-12 13:41:30 +00:00
Asim Aslam
1ca4619506
return store.ErrNotFound (#1332) 2020-03-11 23:09:42 +00:00
7b385bf163
minimize allocations in logger and tunnel code (#1323)
* logs alloc

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* fix allocs

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* fix allocs

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* tunnel allocs

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* try to fix tunnel

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* cache cipher for send

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* more logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-11 17:55:39 +00:00
Jake Sanders
3f0c28a815
Expiration is actually a unix timestamp (#1290)
* Expiration is actually a unix timestamp

* int -> int64
2020-03-03 18:15:50 +00:00
Jake Sanders
beb5e80e87
Fix nil pointer dereference (#1289) 2020-03-03 13:54:56 +00:00
Jake Sanders
eebd69c995
Change from renekroon/ttlcache to patrickmn/go-cache (#1288) 2020-03-03 13:35:49 +00:00
Jake Sanders
bc71989e2c
int64 -> time.Duration (#1287) 2020-03-03 13:15:26 +00:00
Jake Sanders
f6102bde70
Add a cache to workers KV storage implementation (#1284)
* cloudflare-cache

* go mod tidy
2020-03-02 18:14:25 +00:00
ben-toogood
9200c70202
Replace validation error with regex for cockroach namespace (#1270)
Co-authored-by: Asim Aslam <asim@aslam.me>
2020-03-01 22:09:06 +00:00
117f56ebf7
prune util/log and user logger (#1237)
* prune util/log and user logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* plaintext logger

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

* add newline

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-23 13:45:20 +00:00
ben-toogood
d621548120
Auth (#1147)
Implement the Auth interface, with JWT and service implementations.

* Update Auth Interface

* Define Auth Service Implementation

* Support Service Auth

* Add Auth Service Proto

* Remove erronious files

* Implement Auth Service Package

* Update Auth Interface

* Update Auth Interface. Add Validate, remove Add/Remove roles

* Make Revoke interface more explicit

* Refactor serializing and deserializing service accounts

* Fix srv name & update interface to be more explicit

* Require jwt public key for auth

* Rename Variables (Resource.ID => Resource.Name & ServiceAccount => Account)

* Implement JWT Auth Package

* Remove parent, add ID

* Update auth imports to v2. Add String() to auth interface
2020-02-03 08:16:02 +00:00
f23638c036 fix import paths for v2 release
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-01-30 14:44:40 +03:00
shu xian
101017a29c cockroach supports URL connection string 2020-01-29 00:47:41 +08:00
Asim Aslam
6ca298c61d set default store, fix store options bug, add String method 2020-01-10 19:13:55 +00:00
Asim Aslam
a90a74c9e2
Change the store interface to remove variadic args (#1095) 2020-01-08 22:23:14 +00:00
Asim Aslam
048065fe96
support ability to set store, address and namespace via flags and env vars (#1092) 2020-01-08 12:11:31 +00:00
Asim Aslam
be6e8a7c78
add store to defaults (#1086) 2020-01-06 17:44:32 +00:00
Jake Sanders
55f5937c8b Remove debug 2019-12-16 17:16:10 +00:00
Jake Sanders
56619f2745 Fix cockroachdb store implemetation 2019-12-16 17:11:13 +00:00
Asim Aslam
303adca500 rename postgres to cockroach 2019-12-16 15:09:59 +00:00
Asim Aslam
59751c02e6 change store options 2019-12-16 14:38:51 +00:00
Jake Sanders
e8e112144f Create database should take the name of the database 2019-12-16 14:15:30 +00:00
Asim Aslam
0131e9468f change use of store namespace/prefix in sql store 2019-12-16 12:13:18 +00:00
Asim Aslam
d50f30d743 strip handlers 2019-12-10 11:46:13 +00:00
a1eaf9cc20 linting fixes
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-04 00:22:02 +03:00
Asim Aslam
8b63df7a98 regenerate the protos 2019-11-26 13:53:33 +00:00
罗泽轩
64a251d69a improve the syncMap.Iterate test to make it 100% reproducible (#970)
* improve the syncMap.Iterate test to make it 100% reproducible

* rename store/mocks/Store.go

* rename mocks/store to mock/store
2019-11-23 14:13:17 +00:00
Lars Lehtonen
bdb62e8ed1 store/postgresql: fix dropped error (#938) 2019-11-12 07:54:33 +00:00
Lars Lehtonen
5aa28dfb0d store/cloudflare: fix dropped error (#930) 2019-11-09 15:18:51 +00:00
Till Knuesting
24b8d2a315 preallocating slices (#904)
* preallocated some slices when size is known

* gofmt

* gofmt
2019-11-04 10:33:53 +00:00
Jake Sanders
15e3b9b4c0 Let people connect with just a hostname 2019-11-01 15:16:05 +00:00
Jake Sanders
dee63b2b2c Implementation of postgres store 2019-11-01 14:13:21 +00:00
Asim Aslam
4db1e09798 change options to be trimmed down 2019-10-23 23:12:45 +01:00
Asim Aslam
232c8ac7a1 More cleanup of store cf 2019-10-23 23:10:44 +01:00
Asim Aslam
68d0efbeaa Move api types in cf store 2019-10-23 22:57:11 +01:00
Asim Aslam
70aaca9876 further cleanup 2019-10-23 22:54:55 +01:00
Asim Aslam
3ce71e12ff Don't recall vals everywhere 2019-10-23 22:51:08 +01:00
Asim Aslam
d65658c890 Update options usage in store/api 2019-10-23 22:31:36 +01:00
Asim Aslam
82f94c7861 Change store.Sync to store.List 2019-10-23 22:05:39 +01:00
Asim Aslam
ecac392dbe unexport api response/message in cloudflare store 2019-10-23 21:54:37 +01:00
Jake Sanders
4f5db08238 Remove cloudflare-go and reimplement workers KV 2019-10-23 17:31:15 +01:00
Jake Sanders
a46133f059 cloudflare workers KV Store implementation 2019-10-15 12:35:45 +01:00
Asim Aslam
76eee089e3 Add store service client 2019-10-11 14:44:42 +01:00
Asim Aslam
cfa2b668e2 go fmt 2019-10-11 14:44:34 +01:00
Asim Aslam
a96f6adf07 store handler implementation 2019-10-11 14:08:50 +01:00
Asim Aslam
b5f33b2aaa Rename Dump to Sync 2019-10-03 09:56:25 +01:00