ethyca-fides 2.62.1rc0__py2.py3-none-any.whl → 2.62.1rc2__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/METADATA +1 -1
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/RECORD +91 -91
- fides/_version.py +3 -3
- fides/api/util/cache.py +77 -1
- fides/config/redis_settings.py +99 -8
- fides/service/messaging/aws_ses_service.py +5 -1
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.62.1rc0.dist-info → ethyca_fides-2.62.1rc2.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{K1_4-1GhwfL7h4fYYQBvB → ThY8uc6p5pX5KWk1VG--G}/_buildManifest.js +0 -0
- /fides/ui-build/static/admin/_next/static/{K1_4-1GhwfL7h4fYYQBvB → ThY8uc6p5pX5KWk1VG--G}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
ethyca_fides-2.62.
|
1
|
+
ethyca_fides-2.62.1rc2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
2
2
|
fides/__init__.py,sha256=tE3qqipY9eynYXYpQeksYGHP5NfeXyq-L9mBtpFIxl8,139
|
3
|
-
fides/_version.py,sha256=
|
3
|
+
fides/_version.py,sha256=WXK8Z6BhNM1h8RCjP8fFlcIpuksG76djsK28WiX8NlU,501
|
4
4
|
fides/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
5
5
|
fides/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
6
6
|
fides/api/analytics.py,sha256=vgwja9DB7gPsQSE3KQi0F3r6yWmnW66wBRC9FpawfRI,1910
|
@@ -650,7 +650,7 @@ fides/api/tasks/scheduled/scheduler.py,sha256=9YCmyfSWYL0eWQNy8o2MhGcJDWl8mjfz6I
|
|
650
650
|
fides/api/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
651
651
|
fides/api/util/api_router.py,sha256=OJLn9fT6167R4FxG_hHacqLyEyTrqWKKP85FGxEdX2M,1086
|
652
652
|
fides/api/util/aws_util.py,sha256=wvk-2n14nsS5kG-x2EwQ4KnB2H-v4l-zaeJg7Pajjl0,3662
|
653
|
-
fides/api/util/cache.py,sha256=
|
653
|
+
fides/api/util/cache.py,sha256=rvx6mujbZHLQgg4NRai5lJqgWVeHsm5h7qJkhIVk66c,15415
|
654
654
|
fides/api/util/collection_util.py,sha256=tkmMEssynHAwWy2B_OfX-5rY7puFDZIUg4-21rhgib4,9694
|
655
655
|
fides/api/util/connection_type.py,sha256=_ak39pOBMseuq-VyDY7zw3Dg4yM03EH8vGRVJaMb5r4,14073
|
656
656
|
fides/api/util/connection_util.py,sha256=afZ9LZX9kHslc1p_55jlksvGN5mQcMC4m_TRqXx7Dio,15948
|
@@ -719,7 +719,7 @@ fides/config/fides_settings.py,sha256=QHnuvJ-8F2Xbe99RR8Z4zSI12EOMd9xjnw7bvAdXuI
|
|
719
719
|
fides/config/helpers.py,sha256=3gzWqckLXGgHr69sm2JqCRbAKlA3RB4nrLsp6fhvZ0M,4527
|
720
720
|
fides/config/logging_settings.py,sha256=49luzcLM_9sqvJ7fs7U7RlFDdIaGjicCtL039IWo2_I,2852
|
721
721
|
fides/config/notification_settings.py,sha256=2SQq8kpUNnSrZmsvqSIVpv_m1lBTyVeVjJ9dKOKvRzE,2202
|
722
|
-
fides/config/redis_settings.py,sha256=
|
722
|
+
fides/config/redis_settings.py,sha256=oH4rJR1x9jMoc0ZqCNujtZWlmzCXMn7GPHHsnrm9bMU,8081
|
723
723
|
fides/config/security_settings.py,sha256=WHelQ9zSP01JR5fYVPgHq3bL0FZxBF9h11ceRooNCO4,10149
|
724
724
|
fides/config/user_settings.py,sha256=Tx2dmgBS37BfGdvghG1BNqL_m1Jfec1RyMf6vxDI9sg,1661
|
725
725
|
fides/config/utils.py,sha256=D9Ch8LpQFVhznpiyz3ZglUlbXQQkej7Uh3iOvgTFMZI,2163
|
@@ -777,34 +777,34 @@ fides/service/dataset/validation_steps/traversal.py,sha256=AEg1Uq7zurZWyoduees_h
|
|
777
777
|
fides/service/error_handling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
778
778
|
fides/service/error_handling/error_handler.py,sha256=jY_QCnymc7IB2k5dFbnpsf1iJ3e4n28zXa2Au90MfSw,7023
|
779
779
|
fides/service/messaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
780
|
-
fides/service/messaging/aws_ses_service.py,sha256=
|
780
|
+
fides/service/messaging/aws_ses_service.py,sha256=qrnbM74SKBRiqIhq4YraeNquRoPmh5SR4qzxb2aIFfM,6518
|
781
781
|
fides/service/messaging/messaging_service.py,sha256=_3iObiVslfJzuzCukCDw2gbQXrOPpMZs3LqG1Dbmirw,11710
|
782
782
|
fides/service/privacy_request/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
783
783
|
fides/service/privacy_request/privacy_request_service.py,sha256=n751XgEPW4PN7HnodgZCzV6cQ9Jt_5h5Who6TFr7BSo,26854
|
784
784
|
fides/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
785
785
|
fides/service/user/user_service.py,sha256=sUsvP_pULLG6oMQlNNF4ZrQJwAtZcaF5h8IqZgGRZg4,5369
|
786
|
-
fides/ui-build/static/admin/404.html,sha256=
|
787
|
-
fides/ui-build/static/admin/add-systems.html,sha256=
|
788
|
-
fides/ui-build/static/admin/consent.html,sha256=
|
789
|
-
fides/ui-build/static/admin/data-catalog.html,sha256=
|
790
|
-
fides/ui-build/static/admin/datamap.html,sha256=
|
791
|
-
fides/ui-build/static/admin/dataset.html,sha256=
|
792
|
-
fides/ui-build/static/admin/datastore-connection.html,sha256
|
786
|
+
fides/ui-build/static/admin/404.html,sha256=h52B_eaIa2fuK9rzBD1r6BTzLvOg_0wYE15aSCZKTX8,1466
|
787
|
+
fides/ui-build/static/admin/add-systems.html,sha256=5mYQFQMAYqG-SDLglzWflf4AShCDtYYKvYm0FCztE1I,1642
|
788
|
+
fides/ui-build/static/admin/consent.html,sha256=gUQxNvsplN2ZI5Z2cOrlWK5MhDmr20z0eKxsRmaObh8,1474
|
789
|
+
fides/ui-build/static/admin/data-catalog.html,sha256=rdmNN8YrqMFmARH1YtI_25xc-n4c100u0vIZFhLXSV8,2116
|
790
|
+
fides/ui-build/static/admin/datamap.html,sha256=f8-6tU2u8eLBKZbJhWeJB7hpN1So67jTbx1SAU9ZYM0,2023
|
791
|
+
fides/ui-build/static/admin/dataset.html,sha256=dTuKdxzqpGUGadbDXqelP4JGOrwhczldsT-8C-XfZ58,1868
|
792
|
+
fides/ui-build/static/admin/datastore-connection.html,sha256=-k1KhcMqk-BvZn8JiI2aaXG287u9I-HFXK0RE3RCW8A,1660
|
793
793
|
fides/ui-build/static/admin/favicon.ico,sha256=xxtarycoqCOznVZCG0z5Wej6EfYvMYwyz6EUwaVwhEw,4286
|
794
|
-
fides/ui-build/static/admin/index.html,sha256=
|
795
|
-
fides/ui-build/static/admin/integrations.html,sha256=
|
796
|
-
fides/ui-build/static/admin/login.html,sha256=
|
794
|
+
fides/ui-build/static/admin/index.html,sha256=GQEEXboJrWnC5tVnnvursjs_9gDFjGlbgc_frTHaxpY,1625
|
795
|
+
fides/ui-build/static/admin/integrations.html,sha256=5FkFDloTY0HNCDsIcpbf3lDSIzuFvrGB-Ia5kWPiTUA,1874
|
796
|
+
fides/ui-build/static/admin/login.html,sha256=Gk_eEEKzsYmzxglV42FL-YNea6uYSJKqKBia5jElAj8,1470
|
797
797
|
fides/ui-build/static/admin/logo-icon.svg,sha256=LTpApcJnb73kye_gPF3KG8qNe6S3HJJKeebdl6aJ8fI,147
|
798
798
|
fides/ui-build/static/admin/logo-white.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
|
799
799
|
fides/ui-build/static/admin/logo.svg,sha256=bCostWyEaAVHBbKwGhzAAGJ0ZNgxBGgzhwKsAXS47bg,2100
|
800
|
-
fides/ui-build/static/admin/messaging.html,sha256=
|
801
|
-
fides/ui-build/static/admin/privacy-requests.html,sha256=
|
802
|
-
fides/ui-build/static/admin/properties.html,sha256=
|
803
|
-
fides/ui-build/static/admin/systems.html,sha256=
|
804
|
-
fides/ui-build/static/admin/taxonomy.html,sha256=
|
805
|
-
fides/ui-build/static/admin/user-management.html,sha256=
|
806
|
-
fides/ui-build/static/admin/_next/static/
|
807
|
-
fides/ui-build/static/admin/_next/static/
|
800
|
+
fides/ui-build/static/admin/messaging.html,sha256=zblJOotM52bqxRBXEYe-qtaDeLEbmX6DQsoa0a01dTw,1950
|
801
|
+
fides/ui-build/static/admin/privacy-requests.html,sha256=yeGO7tzGjRu5oM-4xptIt29kcB7oAWmOTduNpSvcFqE,1808
|
802
|
+
fides/ui-build/static/admin/properties.html,sha256=GeQu3Gp3HNqD019cSuqLPpNKUk9GJ5jT2ueqe2zhExc,1794
|
803
|
+
fides/ui-build/static/admin/systems.html,sha256=RI37Z3l9XsMtGXmz57lVNB2w9lFaKJfY0aVxDgIWKWc,1712
|
804
|
+
fides/ui-build/static/admin/taxonomy.html,sha256=GWtx71mzL7fBeF4ZhBMmZ6h804segy9vPiIiTgqwPCM,2185
|
805
|
+
fides/ui-build/static/admin/user-management.html,sha256=JvrTiH7kqULMLlLfsUSjZYoWmpnWZApHZi5889eB0Mc,1568
|
806
|
+
fides/ui-build/static/admin/_next/static/ThY8uc6p5pX5KWk1VG--G/_buildManifest.js,sha256=ngo-VNGg_4n5QYSkldh86XX_WyJ6sv4z1YS8GgeAFkA,13413
|
807
|
+
fides/ui-build/static/admin/_next/static/ThY8uc6p5pX5KWk1VG--G/_ssgManifest.js,sha256=-D2RVaEwulH2ck-9Y_5QwX6x5lnaSkDOhosw4jeAt-M,101
|
808
808
|
fides/ui-build/static/admin/_next/static/chunks/1099-98458e8e9ff67508.js,sha256=tHDEIbwy6fw6quHbfkG2Tl34Se5jPaLhWZrEH223pXo,5687
|
809
809
|
fides/ui-build/static/admin/_next/static/chunks/1100-4106d99f5e1ebd75.js,sha256=KHGAV6ZCUhs3mtAM-0B2Y9lpNF2giN9c4q89ELRKHRw,11039
|
810
810
|
fides/ui-build/static/admin/_next/static/chunks/1327-92a38135ee8d55ec.js,sha256=jBpiqCX4zi5sySwO4w1yDIsXPjjxzFxC3OUCTAfOXFY,8041
|
@@ -998,37 +998,37 @@ fides/ui-build/static/admin/_next/static/media/inter-vietnamese-500-normal.7b524
|
|
998
998
|
fides/ui-build/static/admin/_next/static/media/inter-vietnamese-600-normal.eb82de1d.woff2,sha256=ZKjcMjaLlHAKJJyTcujqJwFDooKWcq8qQSuKZVfXZRA,3876
|
999
999
|
fides/ui-build/static/admin/_next/static/media/inter-vietnamese-700-normal.00e401a9.woff2,sha256=92gZYPHyPg3OZ_u0f78u6ZZNdc53OvVkqhoTelycCqw,3888
|
1000
1000
|
fides/ui-build/static/admin/_next/static/media/logo-white.c9bf4196.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
|
1001
|
-
fides/ui-build/static/admin/add-systems/manual.html,sha256=
|
1002
|
-
fides/ui-build/static/admin/add-systems/multiple.html,sha256=
|
1003
|
-
fides/ui-build/static/admin/consent/configure.html,sha256=
|
1004
|
-
fides/ui-build/static/admin/consent/privacy-experience.html,sha256=
|
1005
|
-
fides/ui-build/static/admin/consent/privacy-notices.html,sha256=
|
1006
|
-
fides/ui-build/static/admin/consent/properties.html,sha256=
|
1007
|
-
fides/ui-build/static/admin/consent/reporting.html,sha256=
|
1008
|
-
fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=
|
1009
|
-
fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=
|
1010
|
-
fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=
|
1011
|
-
fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=
|
1012
|
-
fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=
|
1013
|
-
fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=
|
1014
|
-
fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=
|
1015
|
-
fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=
|
1016
|
-
fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=
|
1017
|
-
fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=
|
1018
|
-
fides/ui-build/static/admin/data-discovery/action-center.html,sha256=
|
1019
|
-
fides/ui-build/static/admin/data-discovery/activity.html,sha256=
|
1020
|
-
fides/ui-build/static/admin/data-discovery/detection.html,sha256=
|
1021
|
-
fides/ui-build/static/admin/data-discovery/discovery.html,sha256=
|
1022
|
-
fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=
|
1023
|
-
fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=
|
1024
|
-
fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=
|
1025
|
-
fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=
|
1026
|
-
fides/ui-build/static/admin/dataset/[datasetId].html,sha256=
|
1027
|
-
fides/ui-build/static/admin/dataset/new.html,sha256=
|
1028
|
-
fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=
|
1029
|
-
fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=
|
1030
|
-
fides/ui-build/static/admin/datastore-connection/[id].html,sha256=
|
1031
|
-
fides/ui-build/static/admin/datastore-connection/new.html,sha256=
|
1001
|
+
fides/ui-build/static/admin/add-systems/manual.html,sha256=SJnwEdBN1XjTCQxdvnPfDXskfZYiYNpYEr5lLg74PSI,2595
|
1002
|
+
fides/ui-build/static/admin/add-systems/multiple.html,sha256=J6Xcwh8L8yASXMmYlOMqjfpamBN04FaRNKLq0rlX4uQ,1971
|
1003
|
+
fides/ui-build/static/admin/consent/configure.html,sha256=mnAPvx9LetHe94EXdrwYB-YOfRcE4mXWL02gGgD70U4,1887
|
1004
|
+
fides/ui-build/static/admin/consent/privacy-experience.html,sha256=9WaGwelF2LZBVU3RMNLtQ-5sEbvUX4EVEYF_Mk91hFA,1906
|
1005
|
+
fides/ui-build/static/admin/consent/privacy-notices.html,sha256=oKYSVP1XDJqSloDYhtEwYoVvTzXi_t898iUiBPY6EJI,1822
|
1006
|
+
fides/ui-build/static/admin/consent/properties.html,sha256=1A6a7RX_-YUBB8Khlf-w4ukltdaCXzBmnWCBngP9FIU,1810
|
1007
|
+
fides/ui-build/static/admin/consent/reporting.html,sha256=rUJNrgNuZBD8EQj0wovI2jg453rgU7hgf0HHSm18DL0,1810
|
1008
|
+
fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=lkEvWgljyeKvuZTQpcNCkAjmEliDJatYIaoLauYxZB4,1989
|
1009
|
+
fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=xpTL9JLAQEpNccKOe8srEw7LzU6UKIRa7qljeN_KfSs,2070
|
1010
|
+
fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=74RQsPTicdfVD_msTP0PAKmz6gjWvYOk-wj0zp7O6Sw,2064
|
1011
|
+
fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=lofJz-gGtiQVMC5MZBlAdVCTZCzH--36RRcyKGL8y_Y,2064
|
1012
|
+
fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=kieM08pcMsS78KyKlFpsJ6N1yHBJVACbMjbLArMfyU8,2058
|
1013
|
+
fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=GPTWQFCjiNyAVhl-iC_Vi6CGX0qb8-4DMty4DnTLdug,2238
|
1014
|
+
fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=SAbJnE9pd4sqiADYtyru3eBfh-xqj1HkkpjpMhn7R_s,1846
|
1015
|
+
fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=MnSPy-kTXfRGB4ZyfHBc383HqMOWcn4rn2L59gaetnI,1874
|
1016
|
+
fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=HjQHF6x2FOso_rXDHB1W6B-9WeN51abU0seK3YyGjvE,2456
|
1017
|
+
fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=FLe9uBasae6TegMdHSli_rmFvF0iwzPMPbjUPFLj3v4,2428
|
1018
|
+
fides/ui-build/static/admin/data-discovery/action-center.html,sha256=TTYPPmgek3ZUu5VNiDpj-582hEL4zFEUI83vytly3jM,1754
|
1019
|
+
fides/ui-build/static/admin/data-discovery/activity.html,sha256=IHMc9l_aJuWr5c3RkA4Xrpa10_XLotWLERjY4pkOnp0,1744
|
1020
|
+
fides/ui-build/static/admin/data-discovery/detection.html,sha256=ZThXEDR7DoAYAog2AT_ouDbP5crlOkFGpTndRyq2GvY,1980
|
1021
|
+
fides/ui-build/static/admin/data-discovery/discovery.html,sha256=hy806HNKwvnWpIivHaScIw-j2zhM2Wan9fEzrUH1O7c,2452
|
1022
|
+
fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=dXbbDXm2TlRgLxLf0M7QIsHWi5A_uB7kVnP9f_jkQKE,2254
|
1023
|
+
fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=fZHCQgeOIdxzZwutMoRYCuuUISs7RuUspQXbrCjDN4w,2358
|
1024
|
+
fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=0lBmO2aoR759UL2zDuwak2h_DOpzw5zLfgyhkujxwCY,2012
|
1025
|
+
fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=v2KCaDVcaYNaQ4vuj2G2y7h-AZmBBw2QdurPuWRFmVE,2484
|
1026
|
+
fides/ui-build/static/admin/dataset/[datasetId].html,sha256=ZIF0XiFwMi3HJoUzZFsp9JLj9WXoo07RTk4rACeN8F0,1896
|
1027
|
+
fides/ui-build/static/admin/dataset/new.html,sha256=qQ3zdm-QY8YjAUNLCeW8C0ntI0kxcXqDbYZyfx866jo,1638
|
1028
|
+
fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=zWWM9XgZBXegNyyiO4WpK7HMr6SjyK3wBA6gXYBC3DY,2328
|
1029
|
+
fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=33qbfwNRcSuESWpDS9V5VFdamhbSbOF6-nW6yaXm1y8,2370
|
1030
|
+
fides/ui-build/static/admin/datastore-connection/[id].html,sha256=nnCHZapEqWHGB1jbk9gT_NHpjzAPdTLDNTpNEISZS48,1748
|
1031
|
+
fides/ui-build/static/admin/datastore-connection/new.html,sha256=pdye561nYccL3AL_sAOGLLcBGD0IUsW1pUcoD6yzljs,1820
|
1032
1032
|
fides/ui-build/static/admin/images/DatabaseIcon.svg,sha256=gwl8_3APg_6J4ZwWgovOjxgk5AEPyvq3-qGjkF7R4og,8198
|
1033
1033
|
fides/ui-build/static/admin/images/SelectedDatabaseIcon.svg,sha256=L6YBuL-LiKzBXyt9gHZhtqpo2QopXdC7-oEvEWbvSNE,8198
|
1034
1034
|
fides/ui-build/static/admin/images/config_splash.svg,sha256=IH56T1jrG1y4FIKQZXMaePYESYZGot_4jkTaFvmwHl0,176040
|
@@ -1058,45 +1058,45 @@ fides/ui-build/static/admin/images/oauth-login/custom.svg,sha256=SW1i3Mez8XVMVGR
|
|
1058
1058
|
fides/ui-build/static/admin/images/oauth-login/github.svg,sha256=eg3RHjc4MKUaVl3p_tSphXB8Z8zTkPmuSUahUjA-pnY,963
|
1059
1059
|
fides/ui-build/static/admin/images/oauth-login/google.svg,sha256=oRdvveXEbNFZ4_xD6u-DxqNIPJh12o3XU2tITX6ghQU,988
|
1060
1060
|
fides/ui-build/static/admin/images/oauth-login/okta.svg,sha256=ymR7Rqk7syL52284jlure_i06-nVKwZbJwB6JXfdNwo,8076
|
1061
|
-
fides/ui-build/static/admin/integrations/[id].html,sha256=
|
1061
|
+
fides/ui-build/static/admin/integrations/[id].html,sha256=zQL9QcJMjep_9YeR4_zvh_M-Bcwezcw-5-ZswlxvsMI,2208
|
1062
1062
|
fides/ui-build/static/admin/lib/fides-ext-gpp.js,sha256=LqkhU5T4ZAYCcE1Rv_w0JabcP9flDjuXeOyJkvRFhcA,205134
|
1063
1063
|
fides/ui-build/static/admin/lib/fides-headless.js,sha256=q4zCzcwVbADO9Php787HZuukkIpbtQLXQfJa-yuj37g,77653
|
1064
1064
|
fides/ui-build/static/admin/lib/fides-preview.js,sha256=tVXFUJcBIM6Mrdi60P97ZbpMkb51GVe9TL0c7YyURS4,527264
|
1065
1065
|
fides/ui-build/static/admin/lib/fides-tcf.js,sha256=JC2Uq6q4Gonvja8Zok2PZvdQZiRn0LCac8u69NBBCwQ,359146
|
1066
1066
|
fides/ui-build/static/admin/lib/fides.js,sha256=pQDRIv3WtnBn7iGQmiVNZzhE4QWNKiBeh2yfZaWb1Oc,153294
|
1067
|
-
fides/ui-build/static/admin/login/[provider].html,sha256=
|
1068
|
-
fides/ui-build/static/admin/messaging/[id].html,sha256=
|
1069
|
-
fides/ui-build/static/admin/messaging/add-template.html,sha256=
|
1070
|
-
fides/ui-build/static/admin/poc/ant-components.html,sha256=
|
1071
|
-
fides/ui-build/static/admin/poc/forms.html,sha256=
|
1072
|
-
fides/ui-build/static/admin/poc/form-experiments/AntForm.html,sha256=
|
1073
|
-
fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html,sha256=
|
1074
|
-
fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html,sha256=
|
1075
|
-
fides/ui-build/static/admin/poc/form-experiments/FormikField.html,sha256=
|
1076
|
-
fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html,sha256=
|
1077
|
-
fides/ui-build/static/admin/privacy-requests/[id].html,sha256=
|
1078
|
-
fides/ui-build/static/admin/privacy-requests/configure.html,sha256=
|
1079
|
-
fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=
|
1080
|
-
fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=
|
1081
|
-
fides/ui-build/static/admin/properties/[id].html,sha256=
|
1082
|
-
fides/ui-build/static/admin/properties/add-property.html,sha256=
|
1083
|
-
fides/ui-build/static/admin/reporting/datamap.html,sha256=
|
1084
|
-
fides/ui-build/static/admin/settings/about.html,sha256=
|
1085
|
-
fides/ui-build/static/admin/settings/consent.html,sha256=
|
1086
|
-
fides/ui-build/static/admin/settings/custom-fields.html,sha256=
|
1087
|
-
fides/ui-build/static/admin/settings/domain-records.html,sha256=
|
1088
|
-
fides/ui-build/static/admin/settings/domains.html,sha256=
|
1089
|
-
fides/ui-build/static/admin/settings/email-templates.html,sha256=
|
1090
|
-
fides/ui-build/static/admin/settings/locations.html,sha256=
|
1091
|
-
fides/ui-build/static/admin/settings/organization.html,sha256=
|
1092
|
-
fides/ui-build/static/admin/settings/regulations.html,sha256=
|
1093
|
-
fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html,sha256=
|
1094
|
-
fides/ui-build/static/admin/systems/configure/[id].html,sha256=
|
1095
|
-
fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=
|
1096
|
-
fides/ui-build/static/admin/user-management/new.html,sha256=
|
1097
|
-
fides/ui-build/static/admin/user-management/profile/[id].html,sha256=
|
1098
|
-
ethyca_fides-2.62.
|
1099
|
-
ethyca_fides-2.62.
|
1100
|
-
ethyca_fides-2.62.
|
1101
|
-
ethyca_fides-2.62.
|
1102
|
-
ethyca_fides-2.62.
|
1067
|
+
fides/ui-build/static/admin/login/[provider].html,sha256=Q_0TqM5zPMUUxnq8B5WnZumO6T-zmghjlPLiFUoo9m0,1496
|
1068
|
+
fides/ui-build/static/admin/messaging/[id].html,sha256=44Ic-YTXxUAROtvagENgSRydBtjXm6kweMkeYKemUNk,1646
|
1069
|
+
fides/ui-build/static/admin/messaging/add-template.html,sha256=4x9BsnQ50-Rdo9xvozeIrFfp-OO9oM6sBBUoHJedyjg,1658
|
1070
|
+
fides/ui-build/static/admin/poc/ant-components.html,sha256=_tRLOUJ9alV4UFwrUJl5Y9vEqeGSvHHDtKg7QFt3qrs,1496
|
1071
|
+
fides/ui-build/static/admin/poc/forms.html,sha256=_eYsEFeu5NqwhUCAAdfiWLzyq3mGEIbKxHcNmP4QqC0,1556
|
1072
|
+
fides/ui-build/static/admin/poc/form-experiments/AntForm.html,sha256=qu-shDxXbiy1wTf8-v39ZitlDF1mxa1sAkKxzxhz3Os,1516
|
1073
|
+
fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html,sha256=kw3z9Aimh9g8QYSZfH2tRZF2zxX5XEvzQ0ZAAYkpfzA,1536
|
1074
|
+
fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html,sha256=KBVQLZM1gdhSXQWYVHo-Hwk5q2ENJlshi3gFqW_Aidk,1534
|
1075
|
+
fides/ui-build/static/admin/poc/form-experiments/FormikField.html,sha256=nuIIbyME_1oGAM6COuwmqJ__jnx8XT6teZ2mGkKDG7Q,1524
|
1076
|
+
fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html,sha256=3Zyq-861Tus40reXEcrvqFGFgUNShzuUYv3a4KUa7nI,1614
|
1077
|
+
fides/ui-build/static/admin/privacy-requests/[id].html,sha256=_s0ZdmBEbpd6IXH5z8snkCOo9d0Zgp2NEdM4EzGGSEk,1978
|
1078
|
+
fides/ui-build/static/admin/privacy-requests/configure.html,sha256=Z6T0Zby3lQX_oADyyHp5BuUnBNiBadi_fw2FEiVjmc0,1512
|
1079
|
+
fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=kQv6KCJFBgEFFGaT6Tmb9qgCE2vUJOgZ64AsVHVERGQ,1532
|
1080
|
+
fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=RvhNkKhMlK0YNofqTxlNrc61S5V8qW-NY7CrmiRs384,1528
|
1081
|
+
fides/ui-build/static/admin/properties/[id].html,sha256=QdiwJEnrMgsUgPwJ9PUsPvoFy5_8-mXlaQLLxYlX_ak,1648
|
1082
|
+
fides/ui-build/static/admin/properties/add-property.html,sha256=QyLQEagY3Y47jCtAdCBsItvoOhnVYgvnm1Rn8NJw7-c,1660
|
1083
|
+
fides/ui-build/static/admin/reporting/datamap.html,sha256=mmkppLVx0Qo8B_nM6Z1nHvrfei57EfkgaoTl2XKdUlA,2278
|
1084
|
+
fides/ui-build/static/admin/settings/about.html,sha256=AujBW735UmC933BOtvevOm6ZOXAKD_7N1kROVxiqLnA,1488
|
1085
|
+
fides/ui-build/static/admin/settings/consent.html,sha256=nwn7D7N9sc66YymZiEfNMw-2roYSV0fDHCZPvg9hwns,1492
|
1086
|
+
fides/ui-build/static/admin/settings/custom-fields.html,sha256=Ng23WiUhf1dtQaG15pvfsnk0WFZIPTWZqX9xzaZoikQ,1820
|
1087
|
+
fides/ui-build/static/admin/settings/domain-records.html,sha256=u4whonFFzjzCSMEX9Q79FyNDrLfqDGoEg_zSwYqysSQ,1744
|
1088
|
+
fides/ui-build/static/admin/settings/domains.html,sha256=7BeaPTs2wbkqAfCFvgq8EC5zEwkYIfocoGUjxkhiMVI,1492
|
1089
|
+
fides/ui-build/static/admin/settings/email-templates.html,sha256=xSrK2up3_lw3eKMCS0f8GlkrQfLHzh94hwpYFvKoZFQ,1508
|
1090
|
+
fides/ui-build/static/admin/settings/locations.html,sha256=Ga3DbVT7nMRsR0wko2jjcAucIufAOZ1c5q5El5utD98,1816
|
1091
|
+
fides/ui-build/static/admin/settings/organization.html,sha256=idtChEP2vi6APhjJPMn19j7_XnPK3brXexsAFfAmY_s,1502
|
1092
|
+
fides/ui-build/static/admin/settings/regulations.html,sha256=qVXmejkBa1dx2gNysu-EgTFU8AhRkEKc3-iFUzYBEto,1820
|
1093
|
+
fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html,sha256=eNyCIBoVHt6MCEwWgGCNWQnjwUSNdx76sXbUeu6_DTo,1802
|
1094
|
+
fides/ui-build/static/admin/systems/configure/[id].html,sha256=iQtYjOUbwdrQSi2eFmmk8dGfia9OGYwn9XjiZr9VhF4,2607
|
1095
|
+
fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=H9Jn4Wo0CIvnEqVyIIHe7JDnB9HICHWV1HQC4O_FaiQ,1692
|
1096
|
+
fides/ui-build/static/admin/user-management/new.html,sha256=xvRCKjL9LkjP_qrCQSCIUJlxg8gduXuQp7aYn6Eugeg,1654
|
1097
|
+
fides/ui-build/static/admin/user-management/profile/[id].html,sha256=x8j3szCUCWPUQac-Rda_PTG1noEakHFZOqyOnMxlxKs,1676
|
1098
|
+
ethyca_fides-2.62.1rc2.dist-info/METADATA,sha256=j7t0_wG7xs4zMs6UwWLSAgyufnNZTdVSlavZ8wEg6WM,11637
|
1099
|
+
ethyca_fides-2.62.1rc2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
1100
|
+
ethyca_fides-2.62.1rc2.dist-info/entry_points.txt,sha256=edi4zfmx5sMDogB5GR5gdtOIwP3L1O--rmWb-QunSLE,40
|
1101
|
+
ethyca_fides-2.62.1rc2.dist-info/top_level.txt,sha256=vHQkcSYYOh4ECEGL1JSGUAxFWpwO05QGPV0M2aPxqNQ,6
|
1102
|
+
ethyca_fides-2.62.1rc2.dist-info/RECORD,,
|
fides/_version.py
CHANGED
@@ -8,11 +8,11 @@ import json
|
|
8
8
|
|
9
9
|
version_json = '''
|
10
10
|
{
|
11
|
-
"date": "2025-06-
|
11
|
+
"date": "2025-06-12T10:36:48-0300",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "2.62.
|
14
|
+
"full-revisionid": "ef090004c8081016c14de11bf829c84c1165836b",
|
15
|
+
"version": "2.62.1rc2"
|
16
16
|
}
|
17
17
|
''' # END VERSION_JSON
|
18
18
|
|
fides/api/util/cache.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import json
|
2
|
+
import os
|
2
3
|
from typing import Any, Dict, List, Optional, Union
|
3
4
|
from urllib.parse import unquote_to_bytes
|
4
5
|
|
@@ -27,6 +28,7 @@ from fides.config import CONFIG
|
|
27
28
|
RedisValue = Union[bytes, float, int, str]
|
28
29
|
|
29
30
|
_connection = None
|
31
|
+
_read_only_connection = None
|
30
32
|
|
31
33
|
|
32
34
|
class FidesopsRedis(Redis):
|
@@ -157,6 +159,36 @@ class FidesopsRedis(Redis):
|
|
157
159
|
return list_length
|
158
160
|
|
159
161
|
|
162
|
+
# FIXME: Ideally we don't want our code to be aware of the way tests are run,
|
163
|
+
# e.g that we run them in parallel with pytest-xdist. We need to find a way
|
164
|
+
# to change the pytest_configure_node hook to set the correct environment variable
|
165
|
+
# like we do for the readonly database. It wasn't working so we're using this workaround for now.
|
166
|
+
def _determine_redis_db_index(
|
167
|
+
read_only: Optional[bool] = False,
|
168
|
+
) -> int: # pragma: no cover
|
169
|
+
"""Return the Redis DB index that should be used for the current process.
|
170
|
+
|
171
|
+
Behavior:
|
172
|
+
1. Test mode:
|
173
|
+
- If running under xdist, map `gwN` → DB `N + 1` (reserve DB 0).
|
174
|
+
- If *not* running under xdist, always use DB 1.
|
175
|
+
|
176
|
+
2. Non-test mode: return the value already present in `CONFIG.redis.db_index`
|
177
|
+
"""
|
178
|
+
|
179
|
+
# 1. Test mode logic
|
180
|
+
if CONFIG.test_mode:
|
181
|
+
worker_id = os.getenv("PYTEST_XDIST_WORKER")
|
182
|
+
if worker_id and worker_id.startswith("gw"):
|
183
|
+
suffix = worker_id[2:]
|
184
|
+
if suffix.isdigit():
|
185
|
+
return int(suffix) + 1 # gw0 -> 1, gw1 -> 2, etc.
|
186
|
+
return CONFIG.redis.test_db_index
|
187
|
+
|
188
|
+
# 2. Non-test mode
|
189
|
+
return CONFIG.redis.read_only_db_index if read_only else CONFIG.redis.db_index
|
190
|
+
|
191
|
+
|
160
192
|
def get_cache(should_log: Optional[bool] = False) -> FidesopsRedis:
|
161
193
|
"""Return a singleton connection to our Redis cache"""
|
162
194
|
|
@@ -173,7 +205,7 @@ def get_cache(should_log: Optional[bool] = False) -> FidesopsRedis:
|
|
173
205
|
decode_responses=CONFIG.redis.decode_responses,
|
174
206
|
host=CONFIG.redis.host,
|
175
207
|
port=CONFIG.redis.port,
|
176
|
-
db=
|
208
|
+
db=_determine_redis_db_index(),
|
177
209
|
username=CONFIG.redis.user,
|
178
210
|
password=CONFIG.redis.password,
|
179
211
|
ssl=CONFIG.redis.ssl,
|
@@ -202,6 +234,50 @@ def get_cache(should_log: Optional[bool] = False) -> FidesopsRedis:
|
|
202
234
|
return _connection
|
203
235
|
|
204
236
|
|
237
|
+
def get_read_only_cache() -> FidesopsRedis:
|
238
|
+
"""
|
239
|
+
Return a singleton connection to the read-only Redis cache.
|
240
|
+
If read-only is not enabled, return the regular cache.
|
241
|
+
"""
|
242
|
+
# If read-only is not enabled, return the regular cache
|
243
|
+
if not CONFIG.redis.read_only_enabled:
|
244
|
+
logger.debug(
|
245
|
+
"Read-only Redis is not enabled. Returning writeable cache connection instead."
|
246
|
+
)
|
247
|
+
return get_cache()
|
248
|
+
|
249
|
+
global _read_only_connection # pylint: disable=W0603
|
250
|
+
if _read_only_connection is None:
|
251
|
+
logger.debug("Creating new read-only Redis connection...")
|
252
|
+
_read_only_connection = FidesopsRedis( # type: ignore[call-overload]
|
253
|
+
charset=CONFIG.redis.charset,
|
254
|
+
decode_responses=CONFIG.redis.decode_responses,
|
255
|
+
host=CONFIG.redis.read_only_host,
|
256
|
+
port=CONFIG.redis.read_only_port,
|
257
|
+
db=_determine_redis_db_index(read_only=True),
|
258
|
+
username=CONFIG.redis.read_only_user,
|
259
|
+
password=CONFIG.redis.read_only_password,
|
260
|
+
ssl=CONFIG.redis.read_only_ssl,
|
261
|
+
ssl_ca_certs=CONFIG.redis.read_only_ssl_ca_certs,
|
262
|
+
ssl_cert_reqs=CONFIG.redis.read_only_ssl_cert_reqs,
|
263
|
+
)
|
264
|
+
logger.debug("New read-only Redis connection created.")
|
265
|
+
|
266
|
+
try:
|
267
|
+
connected = _read_only_connection.ping()
|
268
|
+
logger.debug("Read-only Redis connection succeeded.")
|
269
|
+
except ConnectionErrorFromRedis:
|
270
|
+
connected = False
|
271
|
+
|
272
|
+
if not connected:
|
273
|
+
logger.error(
|
274
|
+
"Unable to establish read-only Redis connection. Returning writeable cache connection instead."
|
275
|
+
)
|
276
|
+
return get_cache()
|
277
|
+
|
278
|
+
return _read_only_connection
|
279
|
+
|
280
|
+
|
205
281
|
def get_identity_cache_key(privacy_request_id: str, identity_attribute: str) -> str:
|
206
282
|
"""Return the key at which to save this PrivacyRequest's identity for the passed in attribute"""
|
207
283
|
# TODO: Remove this prefix
|
fides/config/redis_settings.py
CHANGED
@@ -20,6 +20,10 @@ class RedisSettings(FidesSettings):
|
|
20
20
|
default=0,
|
21
21
|
description="The application will use this index in the Redis cache to cache data.",
|
22
22
|
)
|
23
|
+
test_db_index: int = Field(
|
24
|
+
default=1,
|
25
|
+
description="The application will use this index in the Redis cache to cache data for testing.",
|
26
|
+
)
|
23
27
|
decode_responses: bool = Field(
|
24
28
|
default=True,
|
25
29
|
description="Whether or not to automatically decode the values fetched from Redis. Decodes using the `charset` configuration value.",
|
@@ -64,14 +68,57 @@ class RedisSettings(FidesSettings):
|
|
64
68
|
default="", description="The user with which to login to the Redis cache."
|
65
69
|
)
|
66
70
|
|
71
|
+
# Read-only Redis settings
|
72
|
+
read_only_enabled: bool = Field(
|
73
|
+
default=False,
|
74
|
+
description="Whether a read-only Redis cache is enabled.",
|
75
|
+
)
|
76
|
+
read_only_host: str = Field(
|
77
|
+
default="",
|
78
|
+
description="The network address for the read-only Redis cache.",
|
79
|
+
)
|
80
|
+
read_only_port: int = Field(
|
81
|
+
default=6379,
|
82
|
+
description="The port at which the read-only Redis cache will be accessible.",
|
83
|
+
)
|
84
|
+
read_only_user: str = Field(
|
85
|
+
default="",
|
86
|
+
description="The user with which to login to the read-only Redis cache.",
|
87
|
+
)
|
88
|
+
read_only_password: str = Field(
|
89
|
+
default="",
|
90
|
+
description="The password with which to login to the read-only Redis cache.",
|
91
|
+
)
|
92
|
+
read_only_db_index: int = Field(
|
93
|
+
default=0,
|
94
|
+
description="The application will use this index in the read-only Redis cache to cache data.",
|
95
|
+
)
|
96
|
+
read_only_ssl: bool = Field(
|
97
|
+
default=False,
|
98
|
+
description="Whether the application's connections to the read-only cache should be encrypted using TLS.",
|
99
|
+
)
|
100
|
+
read_only_ssl_cert_reqs: Optional[str] = Field(
|
101
|
+
default="required",
|
102
|
+
description="If using TLS encryption, set this to 'required' if you wish to enforce the read-only Redis cache to provide a certificate. Note that not all cache providers support this without setting ssl_ca_certs (e.g. AWS Elasticache).",
|
103
|
+
)
|
104
|
+
read_only_ssl_ca_certs: str = Field(
|
105
|
+
default="",
|
106
|
+
description="If using TLS encryption rooted with a custom Certificate Authority, set this to the path of the CA certificate.",
|
107
|
+
)
|
108
|
+
|
67
109
|
# This relies on other values to get built so must be last
|
68
110
|
connection_url: Optional[str] = Field(
|
69
111
|
default=None,
|
70
112
|
description="A full connection URL to the Redis cache. If not specified, this URL is automatically assembled from the host, port, password and db_index specified above.",
|
71
113
|
exclude=True,
|
72
114
|
)
|
115
|
+
read_only_connection_url: Optional[str] = Field(
|
116
|
+
default=None,
|
117
|
+
description="A full connection URL to the read-only Redis cache. If not specified, this URL is automatically assembled from the read_only_host, read_only_port, read_only_password and read_only_db_index specified above.",
|
118
|
+
exclude=True,
|
119
|
+
)
|
73
120
|
|
74
|
-
@field_validator("connection_url", mode="before")
|
121
|
+
@field_validator("connection_url", "read_only_connection_url", mode="before")
|
75
122
|
@classmethod
|
76
123
|
def assemble_connection_url(
|
77
124
|
cls,
|
@@ -83,22 +130,50 @@ class RedisSettings(FidesSettings):
|
|
83
130
|
# If the whole URL is provided via the config, preference that
|
84
131
|
return v
|
85
132
|
|
133
|
+
is_read_only = info.field_name == "read_only_connection_url"
|
134
|
+
|
86
135
|
connection_protocol = "redis"
|
87
136
|
params_str = ""
|
88
|
-
use_tls =
|
137
|
+
use_tls = (
|
138
|
+
info.data.get("read_only_ssl")
|
139
|
+
if is_read_only
|
140
|
+
else info.data.get("ssl", False)
|
141
|
+
)
|
89
142
|
|
90
143
|
# These vars are intentionally fetched with `or ""` as the default to account
|
91
144
|
# for the edge case where `None` is explicitly set in `values` by Pydantic because
|
92
145
|
# it is not overridden by the config file or an env var
|
93
|
-
user =
|
94
|
-
|
95
|
-
|
146
|
+
user = (
|
147
|
+
info.data.get("read_only_user", "")
|
148
|
+
if is_read_only
|
149
|
+
else info.data.get("user", "")
|
150
|
+
)
|
151
|
+
password = (
|
152
|
+
info.data.get("read_only_password", "")
|
153
|
+
if is_read_only
|
154
|
+
else info.data.get("password", "")
|
155
|
+
)
|
156
|
+
db_index = (
|
157
|
+
info.data.get("read_only_db_index", "")
|
158
|
+
if is_read_only
|
159
|
+
else info.data.get("db_index", "")
|
160
|
+
)
|
96
161
|
if use_tls:
|
97
162
|
# If using TLS update the connection URL format
|
98
163
|
connection_protocol = "rediss"
|
99
|
-
cert_reqs =
|
164
|
+
cert_reqs = (
|
165
|
+
info.data.get("read_only_ssl_cert_reqs", "none")
|
166
|
+
if is_read_only
|
167
|
+
else info.data.get("ssl_cert_reqs", "none")
|
168
|
+
)
|
100
169
|
params = {"ssl_cert_reqs": quote_plus(cert_reqs)}
|
101
|
-
|
170
|
+
|
171
|
+
ssl_ca_certs = (
|
172
|
+
info.data.get("read_only_ssl_ca_certs", "")
|
173
|
+
if is_read_only
|
174
|
+
else info.data.get("ssl_ca_certs", "")
|
175
|
+
)
|
176
|
+
if ssl_ca_certs:
|
102
177
|
params["ssl_ca_certs"] = quote(ssl_ca_certs, safe="/")
|
103
178
|
params_str = "?" + urlencode(params, quote_via=quote, safe="/")
|
104
179
|
|
@@ -108,7 +183,23 @@ class RedisSettings(FidesSettings):
|
|
108
183
|
if password or user:
|
109
184
|
auth_prefix = f"{quote_plus(user)}:{quote_plus(password)}@"
|
110
185
|
|
111
|
-
|
186
|
+
host = (
|
187
|
+
info.data.get("read_only_host", "")
|
188
|
+
if is_read_only
|
189
|
+
else info.data.get("host", "")
|
190
|
+
)
|
191
|
+
port = (
|
192
|
+
info.data.get("read_only_port", "")
|
193
|
+
if is_read_only
|
194
|
+
else info.data.get("port", "")
|
195
|
+
)
|
196
|
+
|
197
|
+
# Only include database index in URL if it's not the default (0)
|
198
|
+
db_path = f"{db_index}" if db_index != 0 else ""
|
199
|
+
|
200
|
+
connection_url = (
|
201
|
+
f"{connection_protocol}://{auth_prefix}{host}:{port}/{db_path}{params_str}"
|
202
|
+
)
|
112
203
|
return connection_url
|
113
204
|
|
114
205
|
model_config = SettingsConfigDict(env_prefix=ENV_PREFIX)
|
@@ -1,5 +1,6 @@
|
|
1
1
|
from typing import Any, Optional
|
2
2
|
|
3
|
+
from fides.api.models.property import CONFIG
|
3
4
|
from loguru import logger
|
4
5
|
|
5
6
|
from fides.api.models.messaging import MessagingConfig
|
@@ -86,7 +87,10 @@ class AWS_SES_Service:
|
|
86
87
|
aws_session = get_aws_session(
|
87
88
|
auth_method=self.messaging_config_secrets.auth_method.value,
|
88
89
|
storage_secrets=storage_secrets, # type: ignore[arg-type]
|
89
|
-
assume_role_arn=
|
90
|
+
assume_role_arn=CONFIG.credentials.get("notifications", {}).get(
|
91
|
+
"aws_ses_assume_role_arn"
|
92
|
+
)
|
93
|
+
or self.messaging_config_secrets.aws_assume_role_arn,
|
90
94
|
)
|
91
95
|
aws_ses_client = aws_session.client(
|
92
96
|
"ses", region_name=self.messaging_config_details.aws_region
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/pages/404-c00773c4c6e930af.js" defer=""></script><script src="/_next/static/
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/pages/404-c00773c4c6e930af.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_buildManifest.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"ThY8uc6p5pX5KWk1VG--G","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><link rel="preload" href="/_next/static/css/92fc10cc7ed1aba3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/92fc10cc7ed1aba3.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/4481-8398edf74aabb8ea.js" defer=""></script><script src="/_next/static/chunks/7980-e17dda2f50ec76b8.js" defer=""></script><script src="/_next/static/chunks/355-e4340980d72b4faa.js" defer=""></script><script src="/_next/static/chunks/8499-34a34015c91fc38b.js" defer=""></script><script src="/_next/static/chunks/3426-e49cb4766324b2dd.js" defer=""></script><script src="/_next/static/chunks/5626-1b636798faad78e1.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-7d789458fb296270.js" defer=""></script><script src="/_next/static/
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><link rel="preload" href="/_next/static/css/92fc10cc7ed1aba3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/92fc10cc7ed1aba3.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/4481-8398edf74aabb8ea.js" defer=""></script><script src="/_next/static/chunks/7980-e17dda2f50ec76b8.js" defer=""></script><script src="/_next/static/chunks/355-e4340980d72b4faa.js" defer=""></script><script src="/_next/static/chunks/8499-34a34015c91fc38b.js" defer=""></script><script src="/_next/static/chunks/3426-e49cb4766324b2dd.js" defer=""></script><script src="/_next/static/chunks/5626-1b636798faad78e1.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/manual-7d789458fb296270.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_buildManifest.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/manual","query":{},"buildId":"ThY8uc6p5pX5KWk1VG--G","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-8398edf74aabb8ea.js" defer=""></script><script src="/_next/static/chunks/355-e4340980d72b4faa.js" defer=""></script><script src="/_next/static/chunks/4723-4c3c7a375e998c15.js" defer=""></script><script src="/_next/static/chunks/5826-ce34f25ac2eeb807.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-90320455052466cd.js" defer=""></script><script src="/_next/static/
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/c0c2eb63ad3e7390.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c0c2eb63ad3e7390.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-abd3efcb23c0bb03.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-371b155655c83a1e.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-8398edf74aabb8ea.js" defer=""></script><script src="/_next/static/chunks/355-e4340980d72b4faa.js" defer=""></script><script src="/_next/static/chunks/4723-4c3c7a375e998c15.js" defer=""></script><script src="/_next/static/chunks/5826-ce34f25ac2eeb807.js" defer=""></script><script src="/_next/static/chunks/pages/add-systems/multiple-90320455052466cd.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_buildManifest.js" defer=""></script><script src="/_next/static/ThY8uc6p5pX5KWk1VG--G/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/add-systems/multiple","query":{},"buildId":"ThY8uc6p5pX5KWk1VG--G","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|