-
Notifications
You must be signed in to change notification settings - Fork 11
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
Add CRDB support #116
base: feature-logical-clusters-1.24
Are you sure you want to change the base?
Add CRDB support #116
Commits on Apr 22, 2022
-
pkg/storage/etcd3: correctly validate resourceVersions
In a number of tests, the underlying storage backend interaction will return the revision (logical clock underpinning the MVCC implementation) at the call-time of the RPC. Previously, the tests validated that this returned revision was exactly equal to some previously seen revision. This assertion is only true in systems where no other events are advancing the logical clock. For instance, when using a single etcd cluster as a shared fixture for these tests, the assertion is not valid any longer. By checking that the returned revision is no older than the previously seen revision, the validation logic is correct in all cases. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4dc04fb - Browse repository at this point
Copy the full SHA 4dc04fbView commit details -
storage/etcd3: clarify the pagingation flow in LIST
It is not possible for the nil-check to ever return anything different from what the explicit boolean used to, but this is only something that a reader can come to the conclusion on if they very, very carefuly read the code. Instead of having this implicit flow that is difficult to follow, let's keep the boolean. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 834667b - Browse repository at this point
Copy the full SHA 834667bView commit details -
apiserver/store: seed generic package with etcd3
Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e07e932 - Browse repository at this point
Copy the full SHA e07e932View commit details -
storage/generic: move resuable tests into separate files
In order to be able to import these tests in the future, we need them to not be in `_test.go` files. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf74d45 - Browse repository at this point
Copy the full SHA cf74d45View commit details -
storage/generic: update package name, chase imports
Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6e655f - Browse repository at this point
Copy the full SHA d6e655fView commit details -
storage/generic: add a client interface and response types
Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7c41794 - Browse repository at this point
Copy the full SHA 7c41794View commit details -
storage/generic: adapt implementation to be generic
The current etcd3 implementation is correct for any storage backend that allows clients to interact with the logcal clock timestamps used to drive MVCC semantics and provide a robust watching mechanism. This commit adapts the current implementation to use a generic interface (albeit this amount of genericism is small, few databases allow such control). Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b51b03 - Browse repository at this point
Copy the full SHA 4b51b03View commit details -
storage/etcd3: refactor to use generic store
This commit isolates etcd3-specific logic into a driver/client, which can simply be used as the backing implementation for the generic store. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f140c97 - Browse repository at this point
Copy the full SHA f140c97View commit details -
storage/crdb: implement a CockroachDB-based backend
CockroachDB allows clients to access the logical clock that underpins the MVCC implementation in the database. Furthermore, changefeeds allow users to efficently watch for changes to keys. These characteristics enable CRDB to be used as a backing store for k8s as they expose the same interaction mechanisms as etcd. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b4193b9 - Browse repository at this point
Copy the full SHA b4193b9View commit details -
storage/crdb: add support for indices
TODO: - there's a disagreement between caching indices (generic) and selectors, which can be fields or labels ... we need to reconcile this - for CRDs we'd need to plumb in CEL-based expressions to the current index support Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b6fb555 - Browse repository at this point
Copy the full SHA b6fb555View commit details -
test/integration: use a generic storage client
It is likely better to use `store.Interface` in all cases, but that is a larger clean-up here. Especially the use of etcd compaction is extremely questionable at this level of abstraction - even the storage implementation does not use that part of the etcd API. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 987377d - Browse repository at this point
Copy the full SHA 987377dView commit details -
Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 05c4a1d - Browse repository at this point
Copy the full SHA 05c4a1dView commit details
Commits on Apr 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 5a801e7 - Browse repository at this point
Copy the full SHA 5a801e7View commit details -
Revert "storage/crdb: add support for indices"
This reverts commit b6fb555. Signed-off-by: Steve Kuznetsov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e97916 - Browse repository at this point
Copy the full SHA 8e97916View commit details
Commits on Nov 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for e615371 - Browse repository at this point
Copy the full SHA e615371View commit details
Commits on Nov 29, 2022
-
Fix unit test that fail before the crdb merge
Fix conflicts in go.sum Signed-off-by: andreyod <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cdcf337 - Browse repository at this point
Copy the full SHA cdcf337View commit details -
Signed-off-by: Ezra Silvera <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 634619c - Browse repository at this point
Copy the full SHA 634619cView commit details