Commit Graph

8998 Commits

Author SHA1 Message Date
vakarisz 43387dc1a5 Common: Use IJSONSerializable interface for credentials 2022-07-12 13:48:20 +03:00
vakarisz 4bbcffabd3 Island: Refactor representations.py to extend JSON encoder 2022-07-12 13:48:20 +03:00
vakarisz 3958ad3e92 Common: Add IJSONSerializable interface 2022-07-12 13:48:20 +03:00
Mike Salvatore 774b2c0116
Merge pull request #2073 from guardicore/1965-credential-endpoints
1965 credential endpoints
2022-07-12 06:45:39 -04:00
Mike Salvatore d2e4fe6136 UT: Break up large unit test into smaller tests 2022-07-12 06:44:16 -04:00
vakarisz bcd94773a0 Island: Add a check for unimplemented credential collections 2022-07-12 13:33:37 +03:00
Mike Salvatore 69d513b136
Merge pull request #2078 from guardicore/1965-repository-encryptor
1965 repository encryptor
2022-07-12 06:31:18 -04:00
vakarisz a9e2dd2d3d Island: Use collection url placeholder for propagation credentials 2022-07-12 12:39:16 +03:00
Mike Salvatore 75f3fb02ee Island: Remove dependency from ILockableEncryptor -> IEncryptor
ILockableEncryptor adds additional constraints on when encrypt() or
decrypt() can be used. If ILockableEncryptor inherits from IEncryptor,
it will violate the Liskov Substitution Principle
2022-07-11 15:07:16 -04:00
Mike Salvatore 037e6619dd UT: Remove disused StubPropagationCredentialsRepository 2022-07-11 14:58:22 -04:00
Mike Salvatore db74ea013d Island: Remove unnecessary resources/credentials subpackage 2022-07-11 14:58:21 -04:00
Mike Salvatore 7b1b9053e4 Island: Combine PropCredentials and ConfiguredPropagationCredentials 2022-07-11 14:53:36 -04:00
Mike Salvatore a684b12dc3 Island: Combine PropagationCredentials and StolenPropagationCredentials 2022-07-11 14:31:04 -04:00
Mike Salvatore 4a4c4324fb UT: Add more propagation credentials 2022-07-11 14:13:24 -04:00
Mike Salvatore 1af21b372c UT: Move PROPAGATION_CREDENTIALS into data_for_tests 2022-07-11 14:10:42 -04:00
Mike Salvatore aaf1009504 UT: Add InMemoryCredentialsRepository 2022-07-11 13:54:06 -04:00
Mike Salvatore 2a2ab52da1 Island: Remove monkey_guid from StubPropagationCredentialsRepository 2022-07-11 13:30:14 -04:00
vakarisz d437f02544 UT: Add stolen and configured credentials endpoint tests 2022-07-11 13:14:41 -04:00
vakarisz c5ba5d444d Island: Add returns to the post and get credential resources 2022-07-11 13:09:06 -04:00
vakarisz 872d062649 Island: Move propagation_credentials.py to credentials dir 2022-07-11 13:09:06 -04:00
vakarisz 0d06f8fd00 Island: Remove unnecessary comments in credentials 2022-07-11 13:09:06 -04:00
vakarisz 90b8b3fc4e Island: Add StolenPropagationCredentials resource 2022-07-11 13:09:06 -04:00
vakarisz e8cd88420b Island: Add ConfiguredPropagationCredentials resource 2022-07-11 13:09:06 -04:00
Mike Salvatore bda661c7ae
Merge pull request #2077 from guardicore/1965-modify-telemetry-processor
1965 modify telemetry processor
2022-07-11 12:30:28 -04:00
Mike Salvatore d6655a8e2c UT: Mark RepositoryEncryptor tests as slow 2022-07-11 12:27:19 -04:00
Mike Salvatore 1dba0639c5
Merge pull request #2076 from guardicore/fix-json-representations
Fix json representations
2022-07-11 12:22:50 -04:00
Ilija Lazoroski 9f060a2dd9 Island: Remove config credentials adders 2022-07-11 17:54:08 +02:00
Mike Salvatore faf9cba182 Island: Add ResetKeyError 2022-07-11 11:53:07 -04:00
Ilija Lazoroski d477dc0197 Island: Remove separate credentials telemetry parser 2022-07-11 17:50:23 +02:00
Mike Salvatore e362875201 Island: Fix incomplete logic in RepositoryEncrypto.reset_key() 2022-07-11 11:38:23 -04:00
Ilija Lazoroski e816f80846 Island: Resolve CredentialsParser in DI
* It also changes telemetry processing functions to use
CredentialsParser object. This will be refactored!
2022-07-11 17:25:21 +02:00
Ilija Lazoroski 9d904fa981 Island: Add None as telemetry processing func for Credentials 2022-07-11 17:24:20 +02:00
Ilija Lazoroski 2ad2d94746 Island: Remove from_credentials in StolenCredentials model 2022-07-11 17:22:55 +02:00
Mike Salvatore 5c65d581b5 Island: Add UnlockError 2022-07-11 11:21:43 -04:00
Ilija Lazoroski e5702032d9 Island: Use ICredentialsRepository in credentials telemetry processing 2022-07-11 17:21:39 +02:00
Mike Salvatore 0356596a41 Island: Add ILockableEncryptor.reset_key() 2022-07-11 11:05:47 -04:00
Mike Salvatore 92c9ad3c71 Island: Add note to DataStoreEncryptor 2022-07-11 10:53:49 -04:00
Mike Salvatore c7257cf000 Island: Add RepositoryEncryptor 2022-07-11 10:53:49 -04:00
Mike Salvatore bd2d79fd43 Island: Add ILockableEncryptor 2022-07-11 10:53:47 -04:00
Mike Salvatore 54c1eef309 Island: Make IEncryptor interface consistent
An IEncryptor could take Any type and encrypt it, returning Any other
type. This is a poorly defined interface and, IIRC, it was defined this
way so some encryptors could take strings and others could take bytes.

This commit modifies the interface so that it accepts and returns bytes
in all cases. If a string encryptor is needed for convenience, we can
add IStringEncryptor and write a decorator that wraps IEncryptors.
2022-07-11 10:01:37 -04:00
vakarisz 33f15ff297 UT: Rename mock to bogus in test_representations.py 2022-07-11 16:55:13 +03:00
vakarisz fe6e3d75b5 Island, UT: Handle tuples in representations.py 2022-07-11 16:53:43 +03:00
Mike Salvatore f7e632025f Island: Reformat IEncryptor docstrings 2022-07-11 09:29:02 -04:00
Mike Salvatore a733886365
Merge pull request #2075 from guardicore/1965-mongo-credentials-repository
1965 mongo credentials repository
2022-07-11 09:28:00 -04:00
Ilija Lazoroski ae3357a1b6 UT: Remove removal of collection in MongoCredentialsRepository 2022-07-11 15:09:10 +02:00
Ilija Lazoroski 4dd4b38fc9 UT: Use Credentials object instead of dict in MongoCredentialsRepository 2022-07-11 15:04:29 +02:00
Mike Salvatore 14cbf07a21 Island: Register mongo client as instance, not convention 2022-07-11 09:02:57 -04:00
vakarisz da9f3c97ed Island: Fix representations.py to encode lists and objects
Previously lists and objects didn't get encoded. This forced explicit encoding on the endpoints, which is not necessary
2022-07-11 15:44:27 +03:00
Ilija Lazoroski b7786e2d0a Island: Register mongo client in DI container 2022-07-11 14:24:57 +02:00
Mike Salvatore 0bddef7078 Island: Add pymongo as an explicit dependency 2022-07-11 08:10:58 -04:00