From 6d06e77878ec8eed28bb127617fc88454850abcf Mon Sep 17 00:00:00 2001 From: Lukas Puehringer Date: Thu, 2 May 2024 16:11:49 +0200 Subject: [PATCH 1/6] Update securesystemslib 1.0.0 (WIP) * Update securesystemslib 1.0.0 in requirements*.txt files -> requires pinning a dev version of tuf TODO: - adopt in Pipfile (I tried, but `pipenv lock` was taking way too long for my taste) - update tuf when theupdateframework/python-tuf#2617 is released * Remove local keyvault service, which makes heavy use of legacy securesystemslib interfaces, which are no longer available in 1.0.0. TODO: - adopt in docs, config, etc - consider removing obsolete IKeyVault * Remove keyvault initialisation in MetadatRepository, which would try to load local key vault in tests, given the current configs (see TODO above) * Adopt removal in tests, just enough, so that they pass. TODO: - check if the tests still make sense * Drop registration of CryptoSigner and use its new uri scheme "file2" in SignerStore. "file2" can be used like "file", but only for non-encrypted key files, which is all we care for in the worker. "file2" can also be used like "fn" from the custom "FileNameSigner", i.e. with a directory specified via envvar. TODO: - consider only using "file2" and dropping the custom "FileNameSigner" (or only using it to ovverride the scheme name and the envvar name) Signed-off-by: Lukas Puehringer --- repository_service_tuf_worker/repository.py | 6 +- .../services/__init__.py | 4 - .../services/keyvault/__init__.py | 4 - .../services/keyvault/local.py | 214 -------- repository_service_tuf_worker/signer.py | 4 +- requirements-dev.txt | 4 +- requirements.txt | 3 +- tests/unit/conftest.py | 8 - .../services/keyvault/test_local.py | 495 ------------------ .../test_repository.py | 5 - .../test_signer.py | 2 +- 11 files changed, 7 insertions(+), 742 deletions(-) delete mode 100644 repository_service_tuf_worker/services/keyvault/__init__.py delete mode 100644 repository_service_tuf_worker/services/keyvault/local.py delete mode 100644 tests/unit/tuf_repository_service_worker/services/keyvault/test_local.py diff --git a/repository_service_tuf_worker/repository.py b/repository_service_tuf_worker/repository.py index 1d2a100c..e7bd5761 100644 --- a/repository_service_tuf_worker/repository.py +++ b/repository_service_tuf_worker/repository.py @@ -45,7 +45,7 @@ get_repository_settings, get_worker_settings, ) -from repository_service_tuf_worker.interfaces import IKeyVault, IStorage +from repository_service_tuf_worker.interfaces import IStorage from repository_service_tuf_worker.models import ( rstuf_db, targets_crud, @@ -190,10 +190,6 @@ def refresh_settings(self, worker_settings: Optional[Dynaconf] = None): # storage IStorage.from_dynaconf(settings) - # keyvault - if settings.get("KEYVAULT_BACKEND"): - IKeyVault.from_dynaconf(settings) - self._worker_settings = settings return settings diff --git a/repository_service_tuf_worker/services/__init__.py b/repository_service_tuf_worker/services/__init__.py index 66f40237..28fd8fd6 100644 --- a/repository_service_tuf_worker/services/__init__.py +++ b/repository_service_tuf_worker/services/__init__.py @@ -4,13 +4,9 @@ # SPDX-License-Identifier: MIT from repository_service_tuf_worker.interfaces import ( # noqa - IKeyVault, IStorage, ServiceSettings, ) -from repository_service_tuf_worker.services.keyvault.local import ( # noqa - LocalKeyVault, -) from repository_service_tuf_worker.services.storage import ( # noqa AWSS3, LocalStorage, diff --git a/repository_service_tuf_worker/services/keyvault/__init__.py b/repository_service_tuf_worker/services/keyvault/__init__.py deleted file mode 100644 index c7ca2ea1..00000000 --- a/repository_service_tuf_worker/services/keyvault/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Repository Service for TUF Contributors -# SPDX-FileCopyrightText: 2022-2023 VMware Inc -# -# SPDX-License-Identifier: MIT diff --git a/repository_service_tuf_worker/services/keyvault/local.py b/repository_service_tuf_worker/services/keyvault/local.py deleted file mode 100644 index ea0fc43a..00000000 --- a/repository_service_tuf_worker/services/keyvault/local.py +++ /dev/null @@ -1,214 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Repository Service for TUF Contributors -# SPDX-FileCopyrightText: 2022-2023 VMware Inc -# -# SPDX-License-Identifier: MIT -import base64 -import hashlib -import logging -import os -from dataclasses import dataclass -from typing import Callable, List, Optional - -from securesystemslib.exceptions import ( - CryptoError, - Error, - FormatError, - StorageError, - UnsupportedLibraryError, -) -from securesystemslib.interface import import_privatekey_from_file -from securesystemslib.signer import Key, SSlibKey, SSlibSigner - -from repository_service_tuf_worker.interfaces import ( - Dynaconf, - IKeyVault, - ServiceSettings, -) - - -@dataclass -class LocalKey: - file: str - password: str - type: Optional[str] = "ed25519" - - -class KeyVaultError(Exception): - pass - - -class LocalKeyVault(IKeyVault): - """Local KeyVault type""" - - def __init__(self, path: str, keys: List[LocalKey]): - """Configuration class for RSTUF Worker LocalKeyVault service. - Manages all settings related to the usage of the online key(s). - - Args: - path: path for key vault (used to define the volume) - keys: list of keys to be used. Each of the LocalKey objects - represents one online key. We allow multiple online keys for - easier key rotation. - """ - self._path: str = path - self._keys: List[LocalKey] = keys - - @classmethod - def _base64_key(cls, keyvault_path: str, base64_key_body: str) -> str: - """ - Decode a base64 key body and store it in a file using a unique hash - file name (based in the data) in the `keyvault_path` - (`RSTUF_LOCAL_KEYVAULT_PATH`) and return the key filename. - - Args: - keyvault_path: The key vault path defined in - `RSTUF_LOCAL_KEYVAULT_PATH`. - base64_key_body: The key body on base64 - - Returns: - key file_name as str - """ - hash_key = hashlib.blake2b( - base64_key_body.encode("utf-8"), digest_size=16 - ) - file_name = hash_key.hexdigest() - key_path = os.path.join(keyvault_path, file_name) - if os.path.isfile(key_path): - return file_name - else: - with open(key_path, "w") as f: - f.write(base64.b64decode(base64_key_body).decode()) - - return file_name - - @classmethod - def _raw_key_parser(cls, path: str, keys: str) -> List[LocalKey]: - """ - Parses the key(s) given in the `RSTUF_LOCAL_KEYVAULT_KEYS` and returns - as `LocalKey` object. - """ - parsed_keys: List[LocalKey] = [] - for raw_key in keys.split(":"): - if raw_key.startswith("/run/secrets/"): - # The user has stored their keys using container secrets. - with open(raw_key) as f: - key_data = f.read().rstrip("\n").split(",") - else: - key_data = raw_key.split(",") - - if len(key_data) == 1: - logging.error("Key is invalid") - pass - - if len(key_data) == 2: # filename and password - file = key_data[0] - password = key_data[1] - if file.startswith("base64|"): - file = cls._base64_key(path, file.split("base64|")[1]) - parsed_keys.append(LocalKey(file=file, password=password)) - - elif len(key_data) == 3: # filename, password, type - file = key_data[0] - password = key_data[1] - key_type = key_data[2] - if file.startswith("base64|"): - file = cls._base64_key(path, file.split("base64|")[1]) - parsed_keys.append( - LocalKey(file=file, password=password, type=key_type) - ) - else: - logging.error("Key is invalid") - pass - - if len(parsed_keys) == 0: - raise KeyVaultError( - "No valid keys in configuration 'RSTUF_LOCAL_KEYVAULT_KEYS'" - ) - - return parsed_keys - - @classmethod - def configure(cls, settings: Dynaconf) -> "LocalKeyVault": - """ - Run actions to verify, configure and create object using the settings. - """ - # Check that the online key can be loaded without an error. - path = settings.LOCAL_KEYVAULT_PATH - local_keys = cls._raw_key_parser(path, settings.LOCAL_KEYVAULT_KEYS) - valid_key_found = False # we look for at least one key is load - for local_key in local_keys: - local_key_path = os.path.join(path, local_key.file) - try: - import_privatekey_from_file( - local_key_path, local_key.type, local_key.password - ) - valid_key_found = True - except ( - FormatError, - ValueError, - UnsupportedLibraryError, - StorageError, - Error, - ) as e: - logging.error(str(e)) - logging.warning("Failed to load LocalKeyVault key") - - if valid_key_found is False: - error = KeyVaultError("No valid keys found in the LocalKeyVault") - logging.error("No valid keys found in the LocalKeyVault") - raise error - - return cls(path, local_keys) - - @classmethod - def settings(cls) -> List[ServiceSettings]: - """Define the settings parameters.""" - return [ - ServiceSettings( - names=["LOCAL_KEYVAULT_PATH"], - required=True, - ), - ServiceSettings( - names=["LOCAL_KEYVAULT_KEYS"], - required=True, - ), - ] - - def _secrets_handler(self, password: str) -> Callable: - """Generates simple Callable with password - required by SSLibSigner""" - return lambda *a: password - - def get(self, public_key: Key) -> SSlibSigner: - """Return a signer using the online key.""" - valid_key = False - for key in self._keys: - key_path = os.path.join(self._path, key.file) - priv_key_uri = f"file:{key_path}?encrypted=true" - try: - sslib_public_key = SSlibKey.from_dict( - public_key.keyid, public_key.to_dict() - ) - except ValueError: - logging.error("Cannot load the online key") - continue - except OSError: - logging.error("Cannot read private key") - continue - - try: - sslib_signer = SSlibSigner.from_priv_key_uri( - priv_key_uri, - sslib_public_key, - self._secrets_handler(key.password), - ) - valid_key = True - except CryptoError: - logging.error("Key didn't match") - continue - - return sslib_signer - - # if no valid keys found, raise a error to fail the task - if valid_key is False: - logging.critical("Cannot load a valid online key.") - raise KeyVaultError("Cannot load a valid online key") diff --git a/repository_service_tuf_worker/signer.py b/repository_service_tuf_worker/signer.py index 5006c65f..69cb5c2a 100644 --- a/repository_service_tuf_worker/signer.py +++ b/repository_service_tuf_worker/signer.py @@ -74,9 +74,7 @@ def from_priv_key_uri( RSTUF_ONLINE_KEY_URI_FIELD = "x-rstuf-online-key-uri" -# Register non-default securesystemslib file signer -# secure-systems-lab/securesystemslib#617 -SIGNER_FOR_URI_SCHEME[CryptoSigner.FILE_URI_SCHEME] = CryptoSigner + # Register custom FileNameSigner SIGNER_FOR_URI_SCHEME[FileNameSigner.SCHEME] = FileNameSigner diff --git a/requirements-dev.txt b/requirements-dev.txt index d5efb34c..a0dc6347 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -102,11 +102,11 @@ pydantic-core==2.18.3; python_version >= '3.8' pynacl==1.5.0; python_version >= '3.6' pytz==2024.1 redis==5.0.4; python_version >= '3.7' -securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' setuptools==70.0.0; python_version >= '3.8' sqlalchemy==2.0.30; python_version >= '3.7' +securesystemslib[crypto]==1.0.0; python_version ~= '3.8' supervisor==4.2.5 -tuf==4.0.0; python_version >= '3.8' +tuf @ git+https://github.com/theupdateframework/python-tuf@a7b832b88ff3c094aafdd78a72bbcf19a93b0bf0 ; python_version >= '3.8' tzdata==2024.1; python_version >= '2' vine==5.1.0; python_version >= '3.6' watchdog==4.0.1; python_version >= '3.8' diff --git a/requirements.txt b/requirements.txt index 535efcd0..a09b928d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,8 +38,9 @@ pytz==2024.1 redis==5.0.4; python_version >= '3.7' requests==2.32.3; python_version >= '3.8' s3transfer==0.10.1; python_version >= '3.8' -securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' setuptools==70.0.0; python_version >= '3.8' +securesystemslib[crypto]==1.0.0; python_version ~= '3.8' +setuptools==69.5.1; python_version >= '3.8' six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' sqlalchemy==2.0.30; python_version >= '3.7' supervisor==4.2.5 diff --git a/tests/unit/conftest.py b/tests/unit/conftest.py index 59d4ff3b..0a2b6482 100644 --- a/tests/unit/conftest.py +++ b/tests/unit/conftest.py @@ -14,14 +14,6 @@ @pytest.fixture() def test_repo(monkeypatch: pytest.MonkeyPatch) -> MetadataRepository: - from repository_service_tuf_worker.services.keyvault import local - - fake_import_privatekey_from_file = pretend.call_recorder(lambda *a: None) - monkeypatch.setattr( - local, - "import_privatekey_from_file", - fake_import_privatekey_from_file, - ) return MetadataRepository.create_service() diff --git a/tests/unit/tuf_repository_service_worker/services/keyvault/test_local.py b/tests/unit/tuf_repository_service_worker/services/keyvault/test_local.py deleted file mode 100644 index c7dec83c..00000000 --- a/tests/unit/tuf_repository_service_worker/services/keyvault/test_local.py +++ /dev/null @@ -1,495 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Repository Service for TUF Contributors -# SPDX-FileCopyrightText: 2022-2023 VMware Inc -# -# SPDX-License-Identifier: MIT -from unittest.mock import MagicMock - -import pretend -import pytest - -from repository_service_tuf_worker.services.keyvault import local - -MOCK_PATH = "repository_service_tuf_worker.services.keyvault.local" - - -class TestLocalStorageService: - def test_basic_init(self): - service = local.LocalKeyVault( - "/test/key_vault", "custom_online.key,rsassa-pss-sha256" - ) - - assert service._path == "/test/key_vault" - assert service._keys == "custom_online.key,rsassa-pss-sha256" - - def test_basic_init_with_secrets(self): - service = local.LocalKeyVault( - "/test/key_vault", - "/run/secrets/ONLINE_KEY_1:/run/secrets/ONLINE_KEY_2", - ) - - assert service._path == "/test/key_vault" - assert ( - service._keys - == "/run/secrets/ONLINE_KEY_1:/run/secrets/ONLINE_KEY_2" - ) - - def test___base64_key(self, monkeypatch): - service = local.LocalKeyVault( - "/test/key_vault", "base64|fakebase64keybody,pass1" - ) - fake_haslib = pretend.stub( - blake2b=pretend.call_recorder( - lambda *a, **kw: pretend.stub(hexdigest=lambda *a: "fake_hash") - ) - ) - monkeypatch.setattr(f"{MOCK_PATH}.hashlib", fake_haslib) - fake_os = pretend.stub( - path=pretend.stub( - join=pretend.call_recorder(lambda *a: "key_path"), - isfile=pretend.call_recorder(lambda a: True), - ) - ) - monkeypatch.setattr(f"{MOCK_PATH}.os", fake_os) - - result = service._base64_key( - "/test/key_vault", "base64|fakebase64keybody" - ) - - assert result == "fake_hash" - assert fake_haslib.blake2b.calls == [ - pretend.call( - "base64|fakebase64keybody".encode("utf-8"), digest_size=16 - ) - ] - assert fake_os.path.isfile.calls == [pretend.call("key_path")] - - def test___base64_key_file_doesnt_exist(self, monkeypatch): - service = local.LocalKeyVault( - "/test/key_vault", "base64|fakebase64keybody,pass1:key2.key,pass2" - ) - fake_haslib = pretend.stub( - blake2b=pretend.call_recorder( - lambda *a, **kw: pretend.stub(hexdigest=lambda *a: "fake_hash") - ) - ) - monkeypatch.setattr(f"{MOCK_PATH}.hashlib", fake_haslib) - fake_os = pretend.stub( - path=pretend.stub( - join=pretend.call_recorder(lambda *a: "key_path"), - isfile=pretend.call_recorder(lambda a: False), - ) - ) - monkeypatch.setattr(f"{MOCK_PATH}.os", fake_os) - fake_data = pretend.stub(write=pretend.call_recorder(lambda *a: None)) - fake_file_obj = pretend.stub( - __enter__=pretend.call_recorder(lambda: fake_data), - __exit__=pretend.call_recorder(lambda *a: None), - close=pretend.call_recorder(lambda: None), - ) - monkeypatch.setitem( - local.__builtins__, "open", lambda *a: fake_file_obj - ) - fake_base64_decode_obj = pretend.stub( - decode=pretend.call_recorder(lambda: "k") - ) - fake_base64 = pretend.stub( - b64decode=pretend.call_recorder(lambda *a: fake_base64_decode_obj) - ) - monkeypatch.setattr(f"{MOCK_PATH}.base64", fake_base64) - result = service._base64_key("/test/key_vault", "fakebase64keybody") - - assert result == "fake_hash" - assert fake_haslib.blake2b.calls == [ - pretend.call("fakebase64keybody".encode("utf-8"), digest_size=16) - ] - assert fake_os.path.isfile.calls == [pretend.call("key_path")] - assert fake_data.write.calls == [pretend.call("k")] - assert fake_base64.b64decode.calls == [ - pretend.call("fakebase64keybody") - ] - assert fake_base64_decode_obj.decode.calls == [pretend.call()] - - def test__raw_key_parser(self): - service = local.LocalKeyVault( - "/test/key_vault", "key1.key,pass1:key2.key,pass2,rsa" - ) - parsed_keys = service._raw_key_parser(service._path, service._keys) - - assert parsed_keys == [ - local.LocalKey(file="key1.key", password="pass1", type="ed25519"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - - def test__raw_key_parser_with_secrets(self, monkeypatch): - service = local.LocalKeyVault("/test/key_vault", "/run/secrets/KEY1") - - fake_data = pretend.stub( - read=pretend.call_recorder(lambda: "key1.key,pass1\n") - ) - fake_file_obj = pretend.stub( - __enter__=pretend.call_recorder(lambda: fake_data), - __exit__=pretend.call_recorder(lambda *a: None), - close=pretend.call_recorder(lambda: None), - ) - monkeypatch.setitem( - local.__builtins__, "open", lambda *a: fake_file_obj - ) - - parsed_keys = service._raw_key_parser(service._path, service._keys) - - assert parsed_keys == [ - local.LocalKey(file="key1.key", password="pass1", type="ed25519") - ] - - def test__raw_key_parser_with_key_base64(self, monkeypatch): - fake__base64_key = pretend.call_recorder(lambda *a: "fake-hash") - monkeypatch.setattr( - f"{MOCK_PATH}.LocalKeyVault._base64_key", fake__base64_key - ) - parsed_keys = local.LocalKeyVault._raw_key_parser( - "/test/key_vault", - "base64|LnRvnYvCg==,pass1:base64|LnRAsdmiAS==,pass2,rsa", - ) - - assert parsed_keys == [ - local.LocalKey(file="fake-hash", password="pass1", type="ed25519"), - local.LocalKey(file="fake-hash", password="pass2", type="rsa"), - ] - assert fake__base64_key.calls == [ - pretend.call("/test/key_vault", "LnRvnYvCg=="), - pretend.call("/test/key_vault", "LnRAsdmiAS=="), - ] - - def test__raw_key_parser_with_one_invalid_configuration(self, caplog): - service = local.LocalKeyVault( - "/test/key_vault", "key1.key:key2.key,pass2,rsa" - ) - caplog.set_level(local.logging.ERROR) - parsed_keys = service._raw_key_parser(service._path, service._keys) - - assert parsed_keys == [ - local.LocalKey(file="key2.key", password="pass2", type="rsa") - ] - assert "Key is invalid" in caplog.record_tuples[0] - - def test__raw_key_parser_with_invalid_configuration(self): - service = local.LocalKeyVault("/test/key_vault", "key1.key:pass2") - - with pytest.raises(local.KeyVaultError) as err: - service._raw_key_parser(service._path, service._keys) - - assert ( - "No valid keys in configuration 'RSTUF_LOCAL_KEYVAULT_KEYS'" - in str(err) - ) - - def test_configure(self, monkeypatch): - test_settings = pretend.stub( - LOCAL_KEYVAULT_PATH="/path/key_vault/", - LOCAL_KEYVAULT_KEYS="key1.key,pass1:key2.key,pass2,rsa", - ) - local_keys = [ - local.LocalKey(file="key1.key", password="pass1"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - fake_import_privatekey_from_file = pretend.call_recorder(lambda *a: {}) - monkeypatch.setattr( - f"{MOCK_PATH}.import_privatekey_from_file", - fake_import_privatekey_from_file, - ) - - service = local.LocalKeyVault.configure(test_settings) - assert fake_import_privatekey_from_file.calls == [ - pretend.call("/path/key_vault/key1.key", "ed25519", "pass1"), - pretend.call("/path/key_vault/key2.key", "rsa", "pass2"), - ] - assert isinstance(service, local.LocalKeyVault) - assert service._path == test_settings.LOCAL_KEYVAULT_PATH - assert service._keys == local_keys - - def test_configure_file_base64(self, monkeypatch): - test_settings = pretend.stub( - LOCAL_KEYVAULT_PATH="/path/key_vault/", - LOCAL_KEYVAULT_KEYS="base64|LnRvnYvCg==,pass1:key2.key,pass2,rsa", - ) - local_keys = [ - local.LocalKey(file="fake_hash", password="pass1"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - fake__raw_key_parser = pretend.call_recorder(lambda *a: local_keys) - monkeypatch.setattr( - f"{MOCK_PATH}.LocalKeyVault._raw_key_parser", fake__raw_key_parser - ) - fake_import_privatekey_from_file = pretend.call_recorder(lambda *a: {}) - monkeypatch.setattr( - f"{MOCK_PATH}.import_privatekey_from_file", - fake_import_privatekey_from_file, - ) - - service = local.LocalKeyVault.configure(test_settings) - assert isinstance(service, local.LocalKeyVault) - assert service._path == test_settings.LOCAL_KEYVAULT_PATH - assert service._keys == local_keys - assert fake_import_privatekey_from_file.calls == [ - pretend.call("/path/key_vault/fake_hash", "ed25519", "pass1"), - pretend.call("/path/key_vault/key2.key", "rsa", "pass2"), - ] - assert fake__raw_key_parser.calls == [ - pretend.call( - test_settings.LOCAL_KEYVAULT_PATH, - test_settings.LOCAL_KEYVAULT_KEYS, - ) - ] - - def test_configure_no_valid_keys(self, monkeypatch): - test_settings = pretend.stub( - LOCAL_KEYVAULT_PATH="/path/key_vault/", - LOCAL_KEYVAULT_KEYS="key1.key:key2.key", - ) - fake__raw_key_parser = pretend.call_recorder(lambda *a: []) - monkeypatch.setattr( - f"{MOCK_PATH}.LocalKeyVault._raw_key_parser", fake__raw_key_parser - ) - with pytest.raises(local.KeyVaultError) as err: - local.LocalKeyVault.configure(test_settings) - - assert "No valid keys found in the LocalKeyVault" in str(err) - assert fake__raw_key_parser.calls == [ - pretend.call( - test_settings.LOCAL_KEYVAULT_PATH, - test_settings.LOCAL_KEYVAULT_KEYS, - ) - ] - - def test_configure_sslib_fail_one_key(self, caplog, monkeypatch): - test_settings = pretend.stub( - LOCAL_KEYVAULT_PATH="/path/key_vault/", - LOCAL_KEYVAULT_KEYS="key1,pass1:key2,pass2,rsa", - ) - caplog.set_level(local.logging.WARNING) - local_keys = [ - local.LocalKey(file="key1", password="pass1"), - local.LocalKey(file="key2", password="pass2", type="rsa"), - ] - fake__raw_key_parser = pretend.call_recorder(lambda *a: local_keys) - monkeypatch.setattr( - f"{MOCK_PATH}.LocalKeyVault._raw_key_parser", fake__raw_key_parser - ) - mocked_import_pk_from_file = MagicMock() - mocked_import_pk_from_file.side_effect = [ - local.FormatError("Invalid format"), - None, - ] - monkeypatch.setattr( - f"{MOCK_PATH}.import_privatekey_from_file", - mocked_import_pk_from_file, - ) - - service = local.LocalKeyVault.configure(test_settings) - assert isinstance(service, local.LocalKeyVault) - assert service._path == test_settings.LOCAL_KEYVAULT_PATH - assert service._keys == local_keys - assert caplog.record_tuples == [ - ("root", 40, "Invalid format"), - ("root", 30, "Failed to load LocalKeyVault key"), - ] - assert fake__raw_key_parser.calls == [ - pretend.call( - test_settings.LOCAL_KEYVAULT_PATH, - test_settings.LOCAL_KEYVAULT_KEYS, - ) - ] - - def test_configure_sslib_fail_all_keys(self, caplog, monkeypatch): - test_settings = pretend.stub( - LOCAL_KEYVAULT_PATH="/path/key_vault/", - LOCAL_KEYVAULT_KEYS="key1,pass1:key2,rsa,pass2", - ) - caplog.set_level(local.logging.WARNING) - local_keys = [ - local.LocalKey(file="key1", password="pass1"), - local.LocalKey(file="key2", password="pass2", type="rsa"), - ] - fake__raw_key_parser = pretend.call_recorder(lambda *a: local_keys) - monkeypatch.setattr( - f"{MOCK_PATH}.LocalKeyVault._raw_key_parser", fake__raw_key_parser - ) - - fake_import_privatekey_from_file = pretend.raiser( - local.FormatError("Invalid format") - ) - monkeypatch.setattr( - f"{MOCK_PATH}.import_privatekey_from_file", - fake_import_privatekey_from_file, - ) - with pytest.raises(local.KeyVaultError) as err: - local.LocalKeyVault.configure(test_settings) - - assert "No valid keys found in the LocalKeyVault" in str(err) - - assert caplog.record_tuples == [ - ("root", 40, "Invalid format"), - ("root", 30, "Failed to load LocalKeyVault key"), - ("root", 40, "Invalid format"), - ("root", 30, "Failed to load LocalKeyVault key"), - ("root", 40, "No valid keys found in the LocalKeyVault"), - ] - assert fake__raw_key_parser.calls == [ - pretend.call( - test_settings.LOCAL_KEYVAULT_PATH, - test_settings.LOCAL_KEYVAULT_KEYS, - ) - ] - - def test_settings(self): - service = local.LocalKeyVault( - "/test/key_vault", "key1.key,pass1:key2.key,rsa,pass2" - ) - service_settings = service.settings() - - assert service_settings == [ - local.ServiceSettings( - names=["LOCAL_KEYVAULT_PATH"], - required=True, - ), - local.ServiceSettings( - names=["LOCAL_KEYVAULT_KEYS"], - required=True, - ), - ] - - def test_get(self, monkeypatch): - local_keys = [ - local.LocalKey(file="key1.key", password="pass1"), - local.LocalKey(file="key2.key", password="pass2"), - ] - service = local.LocalKeyVault("/test/key_vault", local_keys) - fake_key = pretend.stub( - keyid="keyid", to_dict=pretend.call_recorder(lambda: {"k": "v"}) - ) - fake_sslibkey = pretend.stub( - from_dict=pretend.call_recorder(lambda *a: "fake_public_key") - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibKey", fake_sslibkey) - fake_sslib_signer = pretend.stub( - from_priv_key_uri=pretend.call_recorder(lambda *a: "fake_signer") - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibSigner", fake_sslib_signer) - service._secrets_handler = pretend.call_recorder(lambda pwd: pwd) - result = service.get(fake_key) - - assert result == "fake_signer" - assert fake_sslib_signer.from_priv_key_uri.calls == [ - pretend.call( - "file:/test/key_vault/key1.key?encrypted=true", - "fake_public_key", - "pass1", - ) - ] - assert fake_sslibkey.from_dict.calls == [ - pretend.call("keyid", {"k": "v"}) - ] - assert service._secrets_handler.calls == [pretend.call("pass1")] - - def test_get_file_base64(self, monkeypatch): - local_keys = [ - local.LocalKey(file="fake_hash", password="pass1"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - service = local.LocalKeyVault("/test/key_vault", local_keys) - fake_key = pretend.stub( - keyid="keyid", to_dict=pretend.call_recorder(lambda: {"k": "v"}) - ) - fake_sslibkey = pretend.stub( - from_dict=pretend.call_recorder(lambda *a: "fake_public_key") - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibKey", fake_sslibkey) - fake_sslib_signer = pretend.stub( - from_priv_key_uri=pretend.call_recorder(lambda *a: "fake_signer") - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibSigner", fake_sslib_signer) - service._secrets_handler = pretend.call_recorder(lambda pwd: pwd) - result = service.get(fake_key) - - assert result == "fake_signer" - assert fake_sslib_signer.from_priv_key_uri.calls == [ - pretend.call( - "file:/test/key_vault/fake_hash?encrypted=true", - "fake_public_key", - "pass1", - ) - ] - assert fake_sslibkey.from_dict.calls == [ - pretend.call("keyid", {"k": "v"}) - ] - assert service._secrets_handler.calls == [pretend.call("pass1")] - - def test_get_fail_first_key(self, caplog, monkeypatch): - caplog.set_level(local.logging.ERROR) - local_keys = [ - local.LocalKey(file="fake_hash", password="pass1"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - service = local.LocalKeyVault("/test/key_vault", local_keys) - fake_key = pretend.stub( - keyid="keyid", to_dict=pretend.call_recorder(lambda: {"k": "v"}) - ) - mocked_sslibkey_from_dict = MagicMock() - mocked_sslibkey_from_dict.side_effect = [ - ValueError("Failed load online key"), - "fake_public_key", - ] - fake_sslibkey = pretend.stub(from_dict=mocked_sslibkey_from_dict) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibKey", fake_sslibkey) - fake_sslib_signer = pretend.stub( - from_priv_key_uri=pretend.call_recorder(lambda *a: "fake_signer") - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibSigner", fake_sslib_signer) - service._secrets_handler = pretend.call_recorder(lambda pwd: pwd) - - result = service.get(fake_key) - assert result == "fake_signer" - assert fake_sslib_signer.from_priv_key_uri.calls == [ - pretend.call( - "file:/test/key_vault/key2.key?encrypted=true", - "fake_public_key", - "pass2", - ) - ] - assert service._secrets_handler.calls == [pretend.call("pass2")] - assert caplog.record_tuples == [ - ("root", 40, "Cannot load the online key") - ] - - def test_get_fail_all_configured_keys(self, caplog, monkeypatch): - caplog.set_level(local.logging.ERROR) - local_keys = [ - local.LocalKey(file="fake_hash", password="pass1"), - local.LocalKey(file="key2.key", password="pass2", type="rsa"), - ] - service = local.LocalKeyVault("/test/key_vault", local_keys) - fake_key = pretend.stub( - keyid="keyid", to_dict=pretend.call_recorder(lambda: {"k": "v"}) - ) - mocked_sslibkey_from_dict = MagicMock() - mocked_sslibkey_from_dict.side_effect = [ - FileNotFoundError("Cannot find file"), - None, - ] - fake_sslibkey = pretend.stub(from_dict=mocked_sslibkey_from_dict) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibKey", fake_sslibkey) - fake_sslib_signer = pretend.stub( - from_priv_key_uri=pretend.raiser( - local.CryptoError("Wrong password") - ) - ) - monkeypatch.setattr(f"{MOCK_PATH}.SSlibSigner", fake_sslib_signer) - with pytest.raises(local.KeyVaultError) as err: - service.get(fake_key) - - assert "Cannot load a valid online key" in str(err) - assert caplog.record_tuples == [ - ("root", 40, "Cannot read private key"), - ("root", 40, "Key didn't match"), - ("root", 50, "Cannot load a valid online key."), - ] diff --git a/tests/unit/tuf_repository_service_worker/test_repository.py b/tests/unit/tuf_repository_service_worker/test_repository.py index d86d6314..62233269 100644 --- a/tests/unit/tuf_repository_service_worker/test_repository.py +++ b/tests/unit/tuf_repository_service_worker/test_repository.py @@ -48,11 +48,6 @@ def test_is_role_false_other_input(self): class TestMetadataRepository: def test_basic_init(self, monkeypatch): - fake_configure = pretend.call_recorder(lambda *a: None) - monkeypatch.setattr( - "repository_service_tuf_worker.services.keyvault.local.LocalKeyVault.configure", # noqa - fake_configure, - ) test_repo = repository.MetadataRepository() assert isinstance(test_repo, repository.MetadataRepository) is True diff --git a/tests/unit/tuf_repository_service_worker/test_signer.py b/tests/unit/tuf_repository_service_worker/test_signer.py index 5261df39..bd238b66 100644 --- a/tests/unit/tuf_repository_service_worker/test_signer.py +++ b/tests/unit/tuf_repository_service_worker/test_signer.py @@ -84,7 +84,7 @@ def test_get_no_vault(self): def test_get_from_file_uri(self, key_metadata): path = _FILES / "pem" / "ed25519_private.pem" - uri = f"file:{path}?encrypted=false" + uri = f"file2:{path}" key_metadata[RSTUF_ONLINE_KEY_URI_FIELD] = uri fake_id = "fake_id" From 0a8f38335addcf9ab31f0eb8ca148449af2d6d32 Mon Sep 17 00:00:00 2001 From: Kairo Araujo Date: Thu, 25 Jul 2024 12:05:37 +0200 Subject: [PATCH 2/6] chore: dependencies and ci/cd Signed-off-by: Kairo Araujo --- Pipfile | 2 +- Pipfile.lock | 850 ++++++++++++++++++++----------------------- requirements-dev.txt | 75 ++-- requirements.txt | 42 +-- tox.ini | 3 - 5 files changed, 453 insertions(+), 519 deletions(-) diff --git a/Pipfile b/Pipfile index 658d27b2..813bf107 100644 --- a/Pipfile +++ b/Pipfile @@ -15,7 +15,7 @@ psycopg2 = "*" alembic = "*" pydantic = "*" celery = "*" -boto3 = "==1.34.93" +boto3 = "*" awswrangler = "*" [dev-packages] diff --git a/Pipfile.lock b/Pipfile.lock index 7f4ca0b3..335d6abc 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "fa9946b9b08d9327c6260a083d8541150c3177a97710715b514c5cc123752dfa" + "sha256": "54ba40d5564bdc7e2df83db450703b1816d538f380f8eb03736a4258810fa7ca" }, "pipfile-spec": 6, "requires": { @@ -18,12 +18,12 @@ "default": { "alembic": { "hashes": [ - "sha256:2edcc97bed0bd3272611ce3a98d98279e9c209e7186e43e75bbb1b2bdfdbcc43", - "sha256:4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595" + "sha256:1ff0ae32975f4fd96028c39ed9bb3c867fe3af956bd7bb37343b54c9fe7445ef", + "sha256:6b8733129a6224a9a711e17c99b08462dbf7cc9670ba8f2e2ae9af860ceb1953" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.13.1" + "version": "==1.13.2" }, "amqp": { "hashes": [ @@ -43,12 +43,12 @@ }, "awswrangler": { "hashes": [ - "sha256:4fe535dfe221d33cc8cf0f0c6bde6e76c7183f9c7ba9bd8212bb22a5fcbacab8", - "sha256:76c56477ae46b0c3cd5d7ad2704d112f2e5f77125e9cd387297e2fc3013039ce" + "sha256:d4ff3c8905cfd9be51795c4dcc80620bb01efab0ea64211767bb1505cc1be82c", + "sha256:fef63579518f27eae8a3479b68fef04f55eb6dcccceaf7565ac7012ad0fc4fb3" ], "index": "pypi", "markers": "python_version >= '3.8' and python_version < '4.0'", - "version": "==3.7.3" + "version": "==3.9.0" }, "billiard": { "hashes": [ @@ -60,20 +60,20 @@ }, "boto3": { "hashes": [ - "sha256:b59355bf4a1408563969526f314611dbeacc151cf90ecb22af295dcc4fe18def", - "sha256:e39516e4ca21612932599819662759c04485d53ca457996a913163da11f052a4" + "sha256:2058397f0a92c301e3116e9e65fbbc70ea49270c250882d65043d19b7c6e2d17", + "sha256:d63d36e5a34533ba69188d56f96da132730d5e9932c4e11c02d79319cd1afcec" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.34.93" + "version": "==1.34.148" }, "botocore": { "hashes": [ - "sha256:269cae7ba99081519a9f87d7298e238d9e68ba94eb4f8ddfa906224c34cb8b6c", - "sha256:ec4d42c816e9b2d87a2439ad277e7dda16a4a614ef6839cf66f4c1a58afa547c" + "sha256:258dd95570b43db9fa21cce5426eabaea5867e3a61224157650448b5019d1bbd", + "sha256:9e09428b0bc4d0c1cf5e368dd6ab18eabf6047304060f8b5dd8391677cfe00e6" ], "markers": "python_version >= '3.8'", - "version": "==1.34.116" + "version": "==1.34.148" }, "celery": { "hashes": [ @@ -86,11 +86,11 @@ }, "certifi": { "hashes": [ - "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f", - "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" + "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b", + "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90" ], "markers": "python_version >= '3.6'", - "version": "==2024.2.2" + "version": "==2024.7.4" }, "cffi": { "hashes": [ @@ -287,115 +287,46 @@ }, "cryptography": { "hashes": [ - "sha256:02c0eee2d7133bdbbc5e24441258d5d2244beb31da5ed19fbb80315f4bbbff55", - "sha256:0d563795db98b4cd57742a78a288cdbdc9daedac29f2239793071fe114f13785", - "sha256:16268d46086bb8ad5bf0a2b5544d8a9ed87a0e33f5e77dd3c3301e63d941a83b", - "sha256:1a58839984d9cb34c855197043eaae2c187d930ca6d644612843b4fe8513c886", - "sha256:2954fccea107026512b15afb4aa664a5640cd0af630e2ee3962f2602693f0c82", - "sha256:2e47577f9b18723fa294b0ea9a17d5e53a227867a0a4904a1a076d1646d45ca1", - "sha256:31adb7d06fe4383226c3e963471f6837742889b3c4caa55aac20ad951bc8ffda", - "sha256:3577d029bc3f4827dd5bf8bf7710cac13527b470bbf1820a3f394adb38ed7d5f", - "sha256:36017400817987670037fbb0324d71489b6ead6231c9604f8fc1f7d008087c68", - "sha256:362e7197754c231797ec45ee081f3088a27a47c6c01eff2ac83f60f85a50fe60", - "sha256:3de9a45d3b2b7d8088c3fbf1ed4395dfeff79d07842217b38df14ef09ce1d8d7", - "sha256:4f698edacf9c9e0371112792558d2f705b5645076cc0aaae02f816a0171770fd", - "sha256:5482e789294854c28237bba77c4c83be698be740e31a3ae5e879ee5444166582", - "sha256:5e44507bf8d14b36b8389b226665d597bc0f18ea035d75b4e53c7b1ea84583cc", - "sha256:779245e13b9a6638df14641d029add5dc17edbef6ec915688f3acb9e720a5858", - "sha256:789caea816c6704f63f6241a519bfa347f72fbd67ba28d04636b7c6b7da94b0b", - "sha256:7f8b25fa616d8b846aef64b15c606bb0828dbc35faf90566eb139aa9cff67af2", - "sha256:8cb8ce7c3347fcf9446f201dc30e2d5a3c898d009126010cbd1f443f28b52678", - "sha256:93a3209f6bb2b33e725ed08ee0991b92976dfdcf4e8b38646540674fc7508e13", - "sha256:a3a5ac8b56fe37f3125e5b72b61dcde43283e5370827f5233893d461b7360cd4", - "sha256:a47787a5e3649008a1102d3df55424e86606c9bae6fb77ac59afe06d234605f8", - "sha256:a79165431551042cc9d1d90e6145d5d0d3ab0f2d66326c201d9b0e7f5bf43604", - "sha256:a987f840718078212fdf4504d0fd4c6effe34a7e4740378e59d47696e8dfb477", - "sha256:a9bc127cdc4ecf87a5ea22a2556cab6c7eda2923f84e4f3cc588e8470ce4e42e", - "sha256:bd13b5e9b543532453de08bcdc3cc7cebec6f9883e886fd20a92f26940fd3e7a", - "sha256:c65f96dad14f8528a447414125e1fc8feb2ad5a272b8f68477abbcc1ea7d94b9", - "sha256:d8e3098721b84392ee45af2dd554c947c32cc52f862b6a3ae982dbb90f577f14", - "sha256:e6b79d0adb01aae87e8a44c2b64bc3f3fe59515280e00fb6d57a7267a2583cda", - "sha256:e6b8f1881dac458c34778d0a424ae5769de30544fc678eac51c1c8bb2183e9da", - "sha256:e9b2a6309f14c0497f348d08a065d52f3020656f675819fc405fb63bbcd26562", - "sha256:ecbfbc00bf55888edda9868a4cf927205de8499e7fabe6c050322298382953f2", - "sha256:efd0bf5205240182e0f13bcaea41be4fdf5c22c5129fc7ced4a0282ac86998c9" - ], - "version": "==42.0.7" + "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709", + "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069", + "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2", + "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b", + "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e", + "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70", + "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778", + "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22", + "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895", + "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf", + "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431", + "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f", + "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947", + "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74", + "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc", + "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66", + "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66", + "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf", + "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f", + "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5", + "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e", + "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f", + "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55", + "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1", + "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47", + "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5", + "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0" + ], + "version": "==43.0.0" }, "dynaconf": { "extras": [ "ini" ], "hashes": [ - "sha256:12202fc26546851c05d4194c80bee00197e7c2febcb026e502b0863be9cbbdd8", - "sha256:42c8d936b32332c4b84e4d4df6dd1626b6ef59c5a94eb60c10cd3c59d6b882f2" + "sha256:3911c740d717df4576ed55f616c7cbad6e06bc8ef23ffca444b6e2a12fb1c34c", + "sha256:74cc1897396380bb957730eb341cc0976ee9c38bbcb53d3307c50caed0aedfb8" ], "markers": "python_version >= '3.8'", - "version": "==3.2.5" - }, - "greenlet": { - "hashes": [ - "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67", - "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6", - "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257", - "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4", - "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676", - "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61", - "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc", - "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca", - "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7", - "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728", - "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305", - "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6", - "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379", - "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414", - "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04", - "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a", - "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf", - "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491", - "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559", - "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e", - "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274", - "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb", - "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b", - "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9", - "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b", - "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be", - "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506", - "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405", - "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113", - "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f", - "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5", - "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230", - "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d", - "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f", - "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a", - "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e", - "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61", - "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6", - "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d", - "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71", - "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22", - "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2", - "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3", - "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067", - "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc", - "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881", - "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3", - "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e", - "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac", - "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53", - "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0", - "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b", - "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83", - "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41", - "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c", - "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf", - "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da", - "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33" - ], - "markers": "platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))", - "version": "==3.0.3" + "version": "==3.2.6" }, "idna": { "hashes": [ @@ -539,11 +470,11 @@ }, "packaging": { "hashes": [ - "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" + "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", + "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" ], - "markers": "python_version >= '3.7'", - "version": "==24.0" + "markers": "python_version >= '3.8'", + "version": "==24.1" }, "pandas": { "hashes": [ @@ -582,11 +513,11 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:07c60ee4ab7b7e90824b61afa840c8f5aad2d46b3e2e10acc33d8ecc94a49089", - "sha256:a29b89160e494e3ea8622b09fa5897610b437884dcdcd054fdc1308883326c2a" + "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10", + "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360" ], "markers": "python_full_version >= '3.7.0'", - "version": "==3.0.45" + "version": "==3.0.47" }, "psycopg2": { "hashes": [ @@ -610,45 +541,45 @@ }, "pyarrow": { "hashes": [ - "sha256:06ebccb6f8cb7357de85f60d5da50e83507954af617d7b05f48af1621d331c9a", - "sha256:0d07de3ee730647a600037bc1d7b7994067ed64d0eba797ac74b2bc77384f4c2", - "sha256:0d27bf89dfc2576f6206e9cd6cf7a107c9c06dc13d53bbc25b0bd4556f19cf5f", - "sha256:0d32000693deff8dc5df444b032b5985a48592c0697cb6e3071a5d59888714e2", - "sha256:15fbb22ea96d11f0b5768504a3f961edab25eaf4197c341720c4a387f6c60315", - "sha256:17e23b9a65a70cc733d8b738baa6ad3722298fa0c81d88f63ff94bf25eaa77b9", - "sha256:185d121b50836379fe012753cf15c4ba9638bda9645183ab36246923875f8d1b", - "sha256:18da9b76a36a954665ccca8aa6bd9f46c1145f79c0bb8f4f244f5f8e799bca55", - "sha256:19741c4dbbbc986d38856ee7ddfdd6a00fc3b0fc2d928795b95410d38bb97d15", - "sha256:25233642583bf658f629eb230b9bb79d9af4d9f9229890b3c878699c82f7d11e", - "sha256:2e51ca1d6ed7f2e9d5c3c83decf27b0d17bb207a7dea986e8dc3e24f80ff7d6f", - "sha256:2e73cfc4a99e796727919c5541c65bb88b973377501e39b9842ea71401ca6c1c", - "sha256:31a1851751433d89a986616015841977e0a188662fcffd1a5677453f1df2de0a", - "sha256:3b20bd67c94b3a2ea0a749d2a5712fc845a69cb5d52e78e6449bbd295611f3aa", - "sha256:4740cc41e2ba5d641071d0ab5e9ef9b5e6e8c7611351a5cb7c1d175eaf43674a", - "sha256:48be160782c0556156d91adbdd5a4a7e719f8d407cb46ae3bb4eaee09b3111bd", - "sha256:8785bb10d5d6fd5e15d718ee1d1f914fe768bf8b4d1e5e9bf253de8a26cb1628", - "sha256:98100e0268d04e0eec47b73f20b39c45b4006f3c4233719c3848aa27a03c1aef", - "sha256:99f7549779b6e434467d2aa43ab2b7224dd9e41bdde486020bae198978c9e05e", - "sha256:9cf389d444b0f41d9fe1444b70650fea31e9d52cfcb5f818b7888b91b586efff", - "sha256:a33a64576fddfbec0a44112eaf844c20853647ca833e9a647bfae0582b2ff94b", - "sha256:a8914cd176f448e09746037b0c6b3a9d7688cef451ec5735094055116857580c", - "sha256:b04707f1979815f5e49824ce52d1dceb46e2f12909a48a6a753fe7cafbc44a0c", - "sha256:b5f5705ab977947a43ac83b52ade3b881eb6e95fcc02d76f501d549a210ba77f", - "sha256:ba8ac20693c0bb0bf4b238751d4409e62852004a8cf031c73b0e0962b03e45e3", - "sha256:bf9251264247ecfe93e5f5a0cd43b8ae834f1e61d1abca22da55b20c788417f6", - "sha256:d0ebea336b535b37eee9eee31761813086d33ed06de9ab6fc6aaa0bace7b250c", - "sha256:ddf5aace92d520d3d2a20031d8b0ec27b4395cab9f74e07cc95edf42a5cc0147", - "sha256:ddfe389a08ea374972bd4065d5f25d14e36b43ebc22fc75f7b951f24378bf0b5", - "sha256:e1369af39587b794873b8a307cc6623a3b1194e69399af0efd05bb202195a5a7", - "sha256:e6b6d3cd35fbb93b70ade1336022cc1147b95ec6af7d36906ca7fe432eb09710", - "sha256:f07fdffe4fd5b15f5ec15c8b64584868d063bc22b86b46c9695624ca3505b7b4", - "sha256:f2c5fb249caa17b94e2b9278b36a05ce03d3180e6da0c4c3b3ce5b2788f30eed", - "sha256:f68f409e7b283c085f2da014f9ef81e885d90dcd733bd648cfba3ef265961848", - "sha256:fbef391b63f708e103df99fbaa3acf9f671d77a183a07546ba2f2c297b361e83", - "sha256:febde33305f1498f6df85e8020bca496d0e9ebf2093bab9e0f65e2b4ae2b3444" + "sha256:0071ce35788c6f9077ff9ecba4858108eebe2ea5a3f7cf2cf55ebc1dbc6ee24a", + "sha256:02dae06ce212d8b3244dd3e7d12d9c4d3046945a5933d28026598e9dbbda1fca", + "sha256:0b72e87fe3e1db343995562f7fff8aee354b55ee83d13afba65400c178ab2597", + "sha256:0cdb0e627c86c373205a2f94a510ac4376fdc523f8bb36beab2e7f204416163c", + "sha256:13d7a460b412f31e4c0efa1148e1d29bdf18ad1411eb6757d38f8fbdcc8645fb", + "sha256:1c8856e2ef09eb87ecf937104aacfa0708f22dfeb039c363ec99735190ffb977", + "sha256:2e19f569567efcbbd42084e87f948778eb371d308e137a0f97afe19bb860ccb3", + "sha256:32503827abbc5aadedfa235f5ece8c4f8f8b0a3cf01066bc8d29de7539532687", + "sha256:392bc9feabc647338e6c89267635e111d71edad5fcffba204425a7c8d13610d7", + "sha256:42bf93249a083aca230ba7e2786c5f673507fa97bbd9725a1e2754715151a204", + "sha256:4beca9521ed2c0921c1023e68d097d0299b62c362639ea315572a58f3f50fd28", + "sha256:5984f416552eea15fd9cee03da53542bf4cddaef5afecefb9aa8d1010c335087", + "sha256:6b244dc8e08a23b3e352899a006a26ae7b4d0da7bb636872fa8f5884e70acf15", + "sha256:757074882f844411fcca735e39aae74248a1531367a7c80799b4266390ae51cc", + "sha256:75c06d4624c0ad6674364bb46ef38c3132768139ddec1c56582dbac54f2663e2", + "sha256:7c7916bff914ac5d4a8fe25b7a25e432ff921e72f6f2b7547d1e325c1ad9d155", + "sha256:9b564a51fbccfab5a04a80453e5ac6c9954a9c5ef2890d1bcf63741909c3f8df", + "sha256:9b8a823cea605221e61f34859dcc03207e52e409ccf6354634143e23af7c8d22", + "sha256:9ba11c4f16976e89146781a83833df7f82077cdab7dc6232c897789343f7891a", + "sha256:a155acc7f154b9ffcc85497509bcd0d43efb80d6f733b0dc3bb14e281f131c8b", + "sha256:a27532c38f3de9eb3e90ecab63dfda948a8ca859a66e3a47f5f42d1e403c4d03", + "sha256:a48ddf5c3c6a6c505904545c25a4ae13646ae1f8ba703c4df4a1bfe4f4006bda", + "sha256:a5c8b238d47e48812ee577ee20c9a2779e6a5904f1708ae240f53ecbee7c9f07", + "sha256:af5ff82a04b2171415f1410cff7ebb79861afc5dae50be73ce06d6e870615204", + "sha256:b0c6ac301093b42d34410b187bba560b17c0330f64907bfa4f7f7f2444b0cf9b", + "sha256:d7d192305d9d8bc9082d10f361fc70a73590a4c65cf31c3e6926cd72b76bc35c", + "sha256:da1e060b3876faa11cee287839f9cc7cdc00649f475714b8680a05fd9071d545", + "sha256:db023dc4c6cae1015de9e198d41250688383c3f9af8f565370ab2b4cb5f62655", + "sha256:dc5c31c37409dfbc5d014047817cb4ccd8c1ea25d19576acf1a001fe07f5b420", + "sha256:dec8d129254d0188a49f8a1fc99e0560dc1b85f60af729f47de4046015f9b0a5", + "sha256:e3343cb1e88bc2ea605986d4b94948716edc7a8d14afd4e2c097232f729758b4", + "sha256:edca18eaca89cd6382dfbcff3dd2d87633433043650c07375d095cd3517561d8", + "sha256:f1e70de6cb5790a50b01d2b686d54aaf73da01266850b05e3af2a1bc89e16053", + "sha256:f553ca691b9e94b202ff741bdd40f6ccb70cdd5fbf65c187af132f1317de6145", + "sha256:f7ae2de664e0b158d1607699a16a488de3d008ba99b3a7aa5de1cbc13574d047", + "sha256:fa3c246cc58cb5a4a5cb407a18f193354ea47dd0648194e6265bd24177982fe8" ], "markers": "python_version >= '3.8'", - "version": "==16.1.0" + "version": "==17.0.0" }, "pycparser": { "hashes": [ @@ -660,97 +591,107 @@ }, "pydantic": { "hashes": [ - "sha256:71b2945998f9c9b7919a45bde9a50397b289937d215ae141c1d0903ba7149fd7", - "sha256:834ab954175f94e6e68258537dc49402c4a5e9d0409b9f1b86b7e934a8372de7" + "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a", + "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==2.7.2" + "version": "==2.8.2" }, "pydantic-core": { "hashes": [ - "sha256:0bee9bb305a562f8b9271855afb6ce00223f545de3d68560b3c1649c7c5295e9", - "sha256:0ecce4b2360aa3f008da3327d652e74a0e743908eac306198b47e1c58b03dd2b", - "sha256:17954d784bf8abfc0ec2a633108207ebc4fa2df1a0e4c0c3ccbaa9bb01d2c426", - "sha256:19d2e725de0f90d8671f89e420d36c3dd97639b98145e42fcc0e1f6d492a46dc", - "sha256:1f9cd7f5635b719939019be9bda47ecb56e165e51dd26c9a217a433e3d0d59a9", - "sha256:200ad4e3133cb99ed82342a101a5abf3d924722e71cd581cc113fe828f727fbc", - "sha256:24b214b7ee3bd3b865e963dbed0f8bc5375f49449d70e8d407b567af3222aae4", - "sha256:2c44efdd3b6125419c28821590d7ec891c9cb0dff33a7a78d9d5c8b6f66b9702", - "sha256:2c8333f6e934733483c7eddffdb094c143b9463d2af7e6bd85ebcb2d4a1b82c6", - "sha256:2f7ef5f0ebb77ba24c9970da18b771711edc5feaf00c10b18461e0f5f5949231", - "sha256:304378b7bf92206036c8ddd83a2ba7b7d1a5b425acafff637172a3aa72ad7083", - "sha256:370059b7883485c9edb9655355ff46d912f4b03b009d929220d9294c7fd9fd60", - "sha256:37b40c05ced1ba4218b14986fe6f283d22e1ae2ff4c8e28881a70fb81fbfcda7", - "sha256:3d3e42bb54e7e9d72c13ce112e02eb1b3b55681ee948d748842171201a03a98a", - "sha256:3fc1c7f67f34c6c2ef9c213e0f2a351797cda98249d9ca56a70ce4ebcaba45f4", - "sha256:41dbdcb0c7252b58fa931fec47937edb422c9cb22528f41cb8963665c372caf6", - "sha256:432e999088d85c8f36b9a3f769a8e2b57aabd817bbb729a90d1fe7f18f6f1f39", - "sha256:45e4ffbae34f7ae30d0047697e724e534a7ec0a82ef9994b7913a412c21462a0", - "sha256:4afa5f5973e8572b5c0dcb4e2d4fda7890e7cd63329bd5cc3263a25c92ef0026", - "sha256:544a9a75622357076efb6b311983ff190fbfb3c12fc3a853122b34d3d358126c", - "sha256:5560dda746c44b48bf82b3d191d74fe8efc5686a9ef18e69bdabccbbb9ad9442", - "sha256:58ff8631dbab6c7c982e6425da8347108449321f61fe427c52ddfadd66642af7", - "sha256:5a64faeedfd8254f05f5cf6fc755023a7e1606af3959cfc1a9285744cc711044", - "sha256:60e4c625e6f7155d7d0dcac151edf5858102bc61bf959d04469ca6ee4e8381bd", - "sha256:616221a6d473c5b9aa83fa8982745441f6a4a62a66436be9445c65f241b86c94", - "sha256:63081a49dddc6124754b32a3774331467bfc3d2bd5ff8f10df36a95602560361", - "sha256:666e45cf071669fde468886654742fa10b0e74cd0fa0430a46ba6056b24fb0af", - "sha256:67bc078025d70ec5aefe6200ef094576c9d86bd36982df1301c758a9fff7d7f4", - "sha256:691018785779766127f531674fa82bb368df5b36b461622b12e176c18e119022", - "sha256:6a36f78674cbddc165abab0df961b5f96b14461d05feec5e1f78da58808b97e7", - "sha256:6afd5c867a74c4d314c557b5ea9520183fadfbd1df4c2d6e09fd0d990ce412cd", - "sha256:6b32c2a1f8032570842257e4c19288eba9a2bba4712af542327de9a1204faff8", - "sha256:6e59fca51ffbdd1638b3856779342ed69bcecb8484c1d4b8bdb237d0eb5a45e2", - "sha256:70cf099197d6b98953468461d753563b28e73cf1eade2ffe069675d2657ed1d5", - "sha256:73038d66614d2e5cde30435b5afdced2b473b4c77d4ca3a8624dd3e41a9c19be", - "sha256:744697428fcdec6be5670460b578161d1ffe34743a5c15656be7ea82b008197c", - "sha256:77319771a026f7c7d29c6ebc623de889e9563b7087911b46fd06c044a12aa5e9", - "sha256:7a20dded653e516a4655f4c98e97ccafb13753987434fe7cf044aa25f5b7d417", - "sha256:7e6382ce89a92bc1d0c0c5edd51e931432202b9080dc921d8d003e616402efd1", - "sha256:7fdd362f6a586e681ff86550b2379e532fee63c52def1c666887956748eaa326", - "sha256:80aea0ffeb1049336043d07799eace1c9602519fb3192916ff525b0287b2b1e4", - "sha256:82f2718430098bcdf60402136c845e4126a189959d103900ebabb6774a5d9fdb", - "sha256:855ec66589c68aa367d989da5c4755bb74ee92ccad4fdb6af942c3612c067e34", - "sha256:9128089da8f4fe73f7a91973895ebf2502539d627891a14034e45fb9e707e26d", - "sha256:929c24e9dea3990bc8bcd27c5f2d3916c0c86f5511d2caa69e0d5290115344a9", - "sha256:98ed737567d8f2ecd54f7c8d4f8572ca7c7921ede93a2e52939416170d357812", - "sha256:9a46795b1f3beb167eaee91736d5d17ac3a994bf2215a996aed825a45f897558", - "sha256:9f9e04afebd3ed8c15d67a564ed0a34b54e52136c6d40d14c5547b238390e779", - "sha256:a4e651e47d981c1b701dcc74ab8fec5a60a5b004650416b4abbef13db23bc7be", - "sha256:a62e437d687cc148381bdd5f51e3e81f5b20a735c55f690c5be94e05da2b0d5c", - "sha256:aaee40f25bba38132e655ffa3d1998a6d576ba7cf81deff8bfa189fb43fd2bbe", - "sha256:adf952c3f4100e203cbaf8e0c907c835d3e28f9041474e52b651761dc248a3c0", - "sha256:b367a73a414bbb08507da102dc2cde0fa7afe57d09b3240ce82a16d608a7679c", - "sha256:b8e20e15d18bf7dbb453be78a2d858f946f5cdf06c5072453dace00ab652e2b2", - "sha256:b95a0972fac2b1ff3c94629fc9081b16371dad870959f1408cc33b2f78ad347a", - "sha256:b9ebe8231726c49518b16b237b9fe0d7d361dd221302af511a83d4ada01183ab", - "sha256:ba905d184f62e7ddbb7a5a751d8a5c805463511c7b08d1aca4a3e8c11f2e5048", - "sha256:bd4435b8d83f0c9561a2a9585b1de78f1abb17cb0cef5f39bf6a4b47d19bafe3", - "sha256:bd7df92f28d351bb9f12470f4c533cf03d1b52ec5a6e5c58c65b183055a60106", - "sha256:c0037a92cf0c580ed14e10953cdd26528e8796307bb8bb312dc65f71547df04d", - "sha256:c0d9ff283cd3459fa0bf9b0256a2b6f01ac1ff9ffb034e24457b9035f75587cb", - "sha256:c56eca1686539fa0c9bda992e7bd6a37583f20083c37590413381acfc5f192d6", - "sha256:c6ac9ffccc9d2e69d9fba841441d4259cb668ac180e51b30d3632cd7abca2b9b", - "sha256:c826870b277143e701c9ccf34ebc33ddb4d072612683a044e7cce2d52f6c3fef", - "sha256:cd4a032bb65cc132cae1fe3e52877daecc2097965cd3914e44fbd12b00dae7c5", - "sha256:d33ce258e4e6e6038f2b9e8b8a631d17d017567db43483314993b3ca345dcbbb", - "sha256:d531076bdfb65af593326ffd567e6ab3da145020dafb9187a1d131064a55f97c", - "sha256:dccf3ef1400390ddd1fb55bf0632209d39140552d068ee5ac45553b556780e06", - "sha256:df11fa992e9f576473038510d66dd305bcd51d7dd508c163a8c8fe148454e059", - "sha256:e1a8376fef60790152564b0eab376b3e23dd6e54f29d84aad46f7b264ecca943", - "sha256:e201935d282707394f3668380e41ccf25b5794d1b131cdd96b07f615a33ca4b1", - "sha256:e2e253af04ceaebde8eb201eb3f3e3e7e390f2d275a88300d6a1959d710539e2", - "sha256:e862823be114387257dacbfa7d78547165a85d7add33b446ca4f4fae92c7ff5c", - "sha256:eecf63195be644b0396f972c82598cd15693550f0ff236dcf7ab92e2eb6d3522", - "sha256:f0928cde2ae416a2d1ebe6dee324709c6f73e93494d8c7aea92df99aab1fc40f", - "sha256:f9c08cabff68704a1b4667d33f534d544b8a07b8e5d039c37067fceb18789e78", - "sha256:fec02527e1e03257aa25b1a4dcbe697b40a22f1229f5d026503e8b7ff6d2eda7", - "sha256:ff58f379345603d940e461eae474b6bbb6dab66ed9a851ecd3cb3709bf4dcf6a", - "sha256:ffecbb5edb7f5ffae13599aec33b735e9e4c7676ca1633c60f2c606beb17efc5" + "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d", + "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f", + "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686", + "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482", + "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006", + "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83", + "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6", + "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88", + "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86", + "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a", + "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6", + "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a", + "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6", + "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6", + "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43", + "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c", + "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4", + "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e", + "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203", + "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd", + "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1", + "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24", + "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc", + "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc", + "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3", + "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598", + "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98", + "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331", + "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2", + "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a", + "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6", + "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688", + "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91", + "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa", + "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b", + "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0", + "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840", + "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c", + "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd", + "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3", + "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231", + "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1", + "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953", + "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250", + "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a", + "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2", + "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20", + "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434", + "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab", + "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703", + "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a", + "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2", + "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac", + "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611", + "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121", + "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e", + "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b", + "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09", + "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906", + "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9", + "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7", + "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b", + "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987", + "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c", + "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b", + "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e", + "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237", + "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1", + "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19", + "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b", + "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad", + "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0", + "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94", + "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312", + "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f", + "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669", + "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1", + "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe", + "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99", + "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a", + "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a", + "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52", + "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c", + "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad", + "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1", + "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a", + "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f", + "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a", + "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27" ], "markers": "python_version >= '3.8'", - "version": "==2.18.3" + "version": "==2.20.1" }, "pynacl": { "hashes": [ @@ -765,7 +706,6 @@ "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543" ], - "markers": "python_version >= '3.6'", "version": "==1.5.0" }, "python-dateutil": { @@ -785,12 +725,12 @@ }, "redis": { "hashes": [ - "sha256:7adc2835c7a9b5033b7ad8f8918d09b7344188228809c98df07af226d39dec91", - "sha256:ec31f2ed9675cc54c21ba854cfe0462e6faf1d83c8ce5944709db8a4700b9c61" + "sha256:0e479e24da960c690be5d9b96d21f7b918a98c0cf49af3b6fafaa0753f93a0db", + "sha256:8f611490b93c8109b50adc317b31bfd84fff31def3475b92e7e80bf39f48175b" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==5.0.4" + "version": "==5.0.7" }, "requests": { "hashes": [ @@ -802,11 +742,11 @@ }, "s3transfer": { "hashes": [ - "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", - "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" + "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6", + "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69" ], "markers": "python_version >= '3.8'", - "version": "==0.10.1" + "version": "==0.10.2" }, "securesystemslib": { "extras": [ @@ -822,11 +762,11 @@ }, "setuptools": { "hashes": [ - "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4", - "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0" + "sha256:032d42ee9fb536e33087fb66cac5f840eb9391ed05637b3f2a76a7c8fb477936", + "sha256:33874fdc59b3188304b2e7c80d9029097ea31627180896fb549c578ceb8a0855" ], "markers": "python_version >= '3.8'", - "version": "==70.0.0" + "version": "==71.1.0" }, "six": { "hashes": [ @@ -838,59 +778,59 @@ }, "sqlalchemy": { "hashes": [ - "sha256:0094c5dc698a5f78d3d1539853e8ecec02516b62b8223c970c86d44e7a80f6c7", - "sha256:0138c5c16be3600923fa2169532205d18891b28afa817cb49b50e08f62198bb8", - "sha256:0a089e218654e740a41388893e090d2e2c22c29028c9d1353feb38638820bbeb", - "sha256:0b3f4c438e37d22b83e640f825ef0f37b95db9aa2d68203f2c9549375d0b2260", - "sha256:16863e2b132b761891d6c49f0a0f70030e0bcac4fd208117f6b7e053e68668d0", - "sha256:1f9a727312ff6ad5248a4367358e2cf7e625e98b1028b1d7ab7b806b7d757513", - "sha256:2383146973a15435e4717f94c7509982770e3e54974c71f76500a0136f22810b", - "sha256:2753743c2afd061bb95a61a51bbb6a1a11ac1c44292fad898f10c9839a7f75b2", - "sha256:296230899df0b77dec4eb799bcea6fbe39a43707ce7bb166519c97b583cfcab3", - "sha256:2a4f4da89c74435f2bc61878cd08f3646b699e7d2eba97144030d1be44e27584", - "sha256:2b1708916730f4830bc69d6f49d37f7698b5bd7530aca7f04f785f8849e95255", - "sha256:2ecabd9ccaa6e914e3dbb2aa46b76dede7eadc8cbf1b8083c94d936bcd5ffb49", - "sha256:311710f9a2ee235f1403537b10c7687214bb1f2b9ebb52702c5aa4a77f0b3af7", - "sha256:37a4b4fb0dd4d2669070fb05b8b8824afd0af57587393015baee1cf9890242d9", - "sha256:3a365eda439b7a00732638f11072907c1bc8e351c7665e7e5da91b169af794af", - "sha256:3b48154678e76445c7ded1896715ce05319f74b1e73cf82d4f8b59b46e9c0ddc", - "sha256:3b69e934f0f2b677ec111b4d83f92dc1a3210a779f69bf905273192cf4ed433e", - "sha256:3cb5a646930c5123f8461f6468901573f334c2c63c795b9af350063a736d0134", - "sha256:408f8b0e2c04677e9c93f40eef3ab22f550fecb3011b187f66a096395ff3d9fd", - "sha256:40ad017c672c00b9b663fcfcd5f0864a0a97828e2ee7ab0c140dc84058d194cf", - "sha256:5a79d65395ac5e6b0c2890935bad892eabb911c4aa8e8015067ddb37eea3d56c", - "sha256:5a8e3b0a7e09e94be7510d1661339d6b52daf202ed2f5b1f9f48ea34ee6f2d57", - "sha256:69c9db1ce00e59e8dd09d7bae852a9add716efdc070a3e2068377e6ff0d6fdaa", - "sha256:7108d569d3990c71e26a42f60474b4c02c8586c4681af5fd67e51a044fdea86a", - "sha256:77d2edb1f54aff37e3318f611637171e8ec71472f1fdc7348b41dcb226f93d90", - "sha256:7d74336c65705b986d12a7e337ba27ab2b9d819993851b140efdf029248e818e", - "sha256:8409de825f2c3b62ab15788635ccaec0c881c3f12a8af2b12ae4910a0a9aeef6", - "sha256:955991a09f0992c68a499791a753523f50f71a6885531568404fa0f231832aa0", - "sha256:99650e9f4cf3ad0d409fed3eec4f071fadd032e9a5edc7270cd646a26446feeb", - "sha256:9a5baf9267b752390252889f0c802ea13b52dfee5e369527da229189b8bd592e", - "sha256:a0ef36b28534f2a5771191be6edb44cc2673c7b2edf6deac6562400288664221", - "sha256:a1429a4b0f709f19ff3b0cf13675b2b9bfa8a7e79990003207a011c0db880a13", - "sha256:a7bfc726d167f425d4c16269a9a10fe8630ff6d14b683d588044dcef2d0f6be7", - "sha256:a943d297126c9230719c27fcbbeab57ecd5d15b0bd6bfd26e91bfcfe64220621", - "sha256:ae8c62fe2480dd61c532ccafdbce9b29dacc126fe8be0d9a927ca3e699b9491a", - "sha256:b60203c63e8f984df92035610c5fb76d941254cf5d19751faab7d33b21e5ddc0", - "sha256:b6bf767d14b77f6a18b6982cbbf29d71bede087edae495d11ab358280f304d8e", - "sha256:b6c7ec2b1f4969fc19b65b7059ed00497e25f54069407a8701091beb69e591a5", - "sha256:bba002a9447b291548e8d66fd8c96a6a7ed4f2def0bb155f4f0a1309fd2735d5", - "sha256:bc0c53579650a891f9b83fa3cecd4e00218e071d0ba00c4890f5be0c34887ed3", - "sha256:c4f61ada6979223013d9ab83a3ed003ded6959eae37d0d685db2c147e9143797", - "sha256:c62d401223f468eb4da32627bffc0c78ed516b03bb8a34a58be54d618b74d472", - "sha256:e42203d8d20dc704604862977b1470a122e4892791fe3ed165f041e4bf447a1b", - "sha256:edc16a50f5e1b7a06a2dcc1f2205b0b961074c123ed17ebda726f376a5ab0953", - "sha256:efedba7e13aa9a6c8407c48facfdfa108a5a4128e35f4c68f20c3407e4376aa9", - "sha256:f1dc3eabd8c0232ee8387fbe03e0a62220a6f089e278b1f0aaf5e2d6210741ad", - "sha256:f69e4c756ee2686767eb80f94c0125c8b0a0b87ede03eacc5c8ae3b54b99dc46", - "sha256:f7703c2010355dd28f53deb644a05fc30f796bd8598b43f0ba678878780b6e4c", - "sha256:fa561138a64f949f3e889eb9ab8c58e1504ab351d6cf55259dc4c248eaa19da6" + "sha256:0b0f658414ee4e4b8cbcd4a9bb0fd743c5eeb81fc858ca517217a8013d282c96", + "sha256:2196208432deebdfe3b22185d46b08f00ac9d7b01284e168c212919891289396", + "sha256:23b9fbb2f5dd9e630db70fbe47d963c7779e9c81830869bd7d137c2dc1ad05fb", + "sha256:26a6a9837589c42b16693cf7bf836f5d42218f44d198f9343dd71d3164ceeeac", + "sha256:2a21c97efcbb9f255d5c12a96ae14da873233597dfd00a3a0c4ce5b3e5e79704", + "sha256:2e2c38c2a4c5c634fe6c3c58a789712719fa1bf9b9d6ff5ebfce9a9e5b89c1ca", + "sha256:2fc47dc6185a83c8100b37acda27658fe4dbd33b7d5e7324111f6521008ab4fe", + "sha256:2fd17e3bb8058359fa61248c52c7b09a97cf3c820e54207a50af529876451808", + "sha256:352b2770097f41bff6029b280c0e03b217c2dcaddc40726f8f53ed58d8a85da4", + "sha256:3b74570d99126992d4b0f91fb87c586a574a5872651185de8297c6f90055ae42", + "sha256:3cb8a66b167b033ec72c3812ffc8441d4e9f5f78f5e31e54dcd4c90a4ca5bebc", + "sha256:3f9faef422cfbb8fd53716cd14ba95e2ef655400235c3dfad1b5f467ba179c8c", + "sha256:4b600e9a212ed59355813becbcf282cfda5c93678e15c25a0ef896b354423238", + "sha256:501ff052229cb79dd4c49c402f6cb03b5a40ae4771efc8bb2bfac9f6c3d3508f", + "sha256:56d51ae825d20d604583f82c9527d285e9e6d14f9a5516463d9705dab20c3740", + "sha256:597fec37c382a5442ffd471f66ce12d07d91b281fd474289356b1a0041bdf31d", + "sha256:5a48ac4d359f058474fadc2115f78a5cdac9988d4f99eae44917f36aa1476327", + "sha256:5b6cf796d9fcc9b37011d3f9936189b3c8074a02a4ed0c0fbbc126772c31a6d4", + "sha256:66f63278db425838b3c2b1c596654b31939427016ba030e951b292e32b99553e", + "sha256:69f3e3c08867a8e4856e92d7afb618b95cdee18e0bc1647b77599722c9a28911", + "sha256:6e2622844551945db81c26a02f27d94145b561f9d4b0c39ce7bfd2fda5776dac", + "sha256:6f77c4f042ad493cb8595e2f503c7a4fe44cd7bd59c7582fd6d78d7e7b8ec52c", + "sha256:74afabeeff415e35525bf7a4ecdab015f00e06456166a2eba7590e49f8db940e", + "sha256:750900a471d39a7eeba57580b11983030517a1f512c2cb287d5ad0fcf3aebd58", + "sha256:78fe11dbe37d92667c2c6e74379f75746dc947ee505555a0197cfba9a6d4f1a4", + "sha256:79a40771363c5e9f3a77f0e28b3302801db08040928146e6808b5b7a40749c88", + "sha256:7bd112be780928c7f493c1a192cd8c5fc2a2a7b52b790bc5a84203fb4381c6be", + "sha256:8a41514c1a779e2aa9a19f67aaadeb5cbddf0b2b508843fcd7bafdf4c6864005", + "sha256:9f2bee229715b6366f86a95d497c347c22ddffa2c7c96143b59a2aa5cc9eebbc", + "sha256:9fea3d0884e82d1e33226935dac990b967bef21315cbcc894605db3441347443", + "sha256:afb6dde6c11ea4525318e279cd93c8734b795ac8bb5dda0eedd9ebaca7fa23f1", + "sha256:b607489dd4a54de56984a0c7656247504bd5523d9d0ba799aef59d4add009484", + "sha256:b6e22630e89f0e8c12332b2b4c282cb01cf4da0d26795b7eae16702a608e7ca1", + "sha256:b9c01990d9015df2c6f818aa8f4297d42ee71c9502026bb074e713d496e26b67", + "sha256:bd15026f77420eb2b324dcb93551ad9c5f22fab2c150c286ef1dc1160f110203", + "sha256:c06fb43a51ccdff3b4006aafee9fcf15f63f23c580675f7734245ceb6b6a9e05", + "sha256:c76c81c52e1e08f12f4b6a07af2b96b9b15ea67ccdd40ae17019f1c373faa227", + "sha256:ccaf1b0c90435b6e430f5dd30a5aede4764942a695552eb3a4ab74ed63c5b8d3", + "sha256:cd1591329333daf94467e699e11015d9c944f44c94d2091f4ac493ced0119449", + "sha256:cd5b94d4819c0c89280b7c6109c7b788a576084bf0a480ae17c227b0bc41e109", + "sha256:d337bf94052856d1b330d5fcad44582a30c532a2463776e1651bd3294ee7e58b", + "sha256:dc251477eae03c20fae8db9c1c23ea2ebc47331bcd73927cdcaecd02af98d3c3", + "sha256:dc6d69f8829712a4fd799d2ac8d79bdeff651c2301b081fd5d3fe697bd5b4ab9", + "sha256:f2a213c1b699d3f5768a7272de720387ae0122f1becf0901ed6eaa1abd1baf6c", + "sha256:f3ad7f221d8a69d32d197e5968d798217a4feebe30144986af71ada8c548e9fa", + "sha256:f43e93057cf52a227eda401251c72b6fbe4756f35fa6bfebb5d73b86881e59b0", + "sha256:f68470edd70c3ac3b6cd5c2a22a8daf18415203ca1b036aaeb9b0fb6f54e8298", + "sha256:fa4b1af3e619b5b0b435e333f3967612db06351217c58bfb50cee5f003db2a5a", + "sha256:fc6b14e8602f59c6ba893980bea96571dd0ed83d8ebb9c4479d9ed5425d562e9" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==2.0.30" + "version": "==2.0.31" }, "supervisor": { "hashes": [ @@ -911,11 +851,11 @@ }, "typing-extensions": { "hashes": [ - "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8", - "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594" + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], "markers": "python_version >= '3.8'", - "version": "==4.12.0" + "version": "==4.12.2" }, "tzdata": { "hashes": [ @@ -927,11 +867,11 @@ }, "urllib3": { "hashes": [ - "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19" + "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", + "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168" ], "markers": "python_version >= '3.10'", - "version": "==2.2.1" + "version": "==2.2.2" }, "vine": { "hashes": [ @@ -999,12 +939,12 @@ }, "awscli": { "hashes": [ - "sha256:859889ea13319b022f04cb4c220bd41675bf83953538b71aa59eb7356cde4f5e", - "sha256:b50b0931eb32a5756d511ac347ad58cc23c5967eb2f8b56c9e6334b9a1f8a491" + "sha256:a312b5a06b9cbad4b975bd86dd8fec15326594727f2da2025effc11638dafc89", + "sha256:dd8b26de3128c7fbfbdf30f08fe6a0c8ae789d589feb702e131ac81c35d9eddb" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.32.116" + "version": "==1.33.30" }, "awscli-local": { "hashes": [ @@ -1023,12 +963,12 @@ }, "bandit": { "hashes": [ - "sha256:36de50f720856ab24a24dbaa5fee2c66050ed97c1477e0a1159deab1775eab6b", - "sha256:509f7af645bc0cd8fd4587abc1a038fc795636671ee8204d502b933aee44f381" + "sha256:52077cb339000f337fb25f7e045995c4ad01511e716e5daac37014b9752de8ec", + "sha256:7c395a436743018f7be0a4cbb0a4ea9b902b6d87264ddecf8cfdc73b4f78ff61" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.7.8" + "version": "==1.7.9" }, "black": { "hashes": [ @@ -1061,36 +1001,36 @@ }, "boto3": { "hashes": [ - "sha256:b59355bf4a1408563969526f314611dbeacc151cf90ecb22af295dcc4fe18def", - "sha256:e39516e4ca21612932599819662759c04485d53ca457996a913163da11f052a4" + "sha256:2058397f0a92c301e3116e9e65fbbc70ea49270c250882d65043d19b7c6e2d17", + "sha256:d63d36e5a34533ba69188d56f96da132730d5e9932c4e11c02d79319cd1afcec" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.34.93" + "version": "==1.34.148" }, "botocore": { "hashes": [ - "sha256:269cae7ba99081519a9f87d7298e238d9e68ba94eb4f8ddfa906224c34cb8b6c", - "sha256:ec4d42c816e9b2d87a2439ad277e7dda16a4a614ef6839cf66f4c1a58afa547c" + "sha256:258dd95570b43db9fa21cce5426eabaea5867e3a61224157650448b5019d1bbd", + "sha256:9e09428b0bc4d0c1cf5e368dd6ab18eabf6047304060f8b5dd8391677cfe00e6" ], "markers": "python_version >= '3.8'", - "version": "==1.34.116" + "version": "==1.34.148" }, "cachetools": { "hashes": [ - "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945", - "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105" + "sha256:3ae3b49a3d5e28a77a0be2b37dbcb89005058959cb2323858c2657c4a8cab474", + "sha256:b8adc2e7c07f105ced7bc56dbb6dfbe7c4a00acce20e2227b3f355be89bc6827" ], "markers": "python_version >= '3.7'", - "version": "==5.3.3" + "version": "==5.4.0" }, "certifi": { "hashes": [ - "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f", - "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1" + "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b", + "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90" ], "markers": "python_version >= '3.6'", - "version": "==2024.2.2" + "version": "==2024.7.4" }, "cfgv": { "hashes": [ @@ -1225,62 +1165,62 @@ "toml" ], "hashes": [ - "sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523", - "sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f", - "sha256:05ac5f60faa0c704c0f7e6a5cbfd6f02101ed05e0aee4d2822637a9e672c998d", - "sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb", - "sha256:1d2a830ade66d3563bb61d1e3c77c8def97b30ed91e166c67d0632c018f380f0", - "sha256:239a4e75e09c2b12ea478d28815acf83334d32e722e7433471fbf641c606344c", - "sha256:244f509f126dc71369393ce5fea17c0592c40ee44e607b6d855e9c4ac57aac98", - "sha256:25a5caf742c6195e08002d3b6c2dd6947e50efc5fc2c2205f61ecb47592d2d83", - "sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8", - "sha256:2e079c9ec772fedbade9d7ebc36202a1d9ef7291bc9b3a024ca395c4d52853d7", - "sha256:33ca90a0eb29225f195e30684ba4a6db05dbef03c2ccd50b9077714c48153cac", - "sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84", - "sha256:341dd8f61c26337c37988345ca5c8ccabeff33093a26953a1ac72e7d0103c4fb", - "sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3", - "sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884", - "sha256:38a3b98dae8a7c9057bd91fbf3415c05e700a5114c5f1b5b0ea5f8f429ba6614", - "sha256:3d5a67f0da401e105753d474369ab034c7bae51a4c31c77d94030d59e41df5bd", - "sha256:50084d3516aa263791198913a17354bd1dc627d3c1639209640b9cac3fef5807", - "sha256:55f689f846661e3f26efa535071775d0483388a1ccfab899df72924805e9e7cd", - "sha256:5bc5a8c87714b0c67cfeb4c7caa82b2d71e8864d1a46aa990b5588fa953673b8", - "sha256:62bda40da1e68898186f274f832ef3e759ce929da9a9fd9fcf265956de269dbc", - "sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db", - "sha256:75e3f4e86804023e991096b29e147e635f5e2568f77883a1e6eed74512659ab0", - "sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08", - "sha256:7cec2af81f9e7569280822be68bd57e51b86d42e59ea30d10ebdbb22d2cb7232", - "sha256:8383a6c8cefba1b7cecc0149415046b6fc38836295bc4c84e820872eb5478b3d", - "sha256:8c836309931839cca658a78a888dab9676b5c988d0dd34ca247f5f3e679f4e7a", - "sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1", - "sha256:923b7b1c717bd0f0f92d862d1ff51d9b2b55dbbd133e05680204465f454bb286", - "sha256:990fb20b32990b2ce2c5f974c3e738c9358b2735bc05075d50a6f36721b8f303", - "sha256:9aad68c3f2566dfae84bf46295a79e79d904e1c21ccfc66de88cd446f8686341", - "sha256:a5812840d1d00eafae6585aba38021f90a705a25b8216ec7f66aebe5b619fb84", - "sha256:a6519d917abb15e12380406d721e37613e2a67d166f9fb7e5a8ce0375744cd45", - "sha256:ab0b028165eea880af12f66086694768f2c3139b2c31ad5e032c8edbafca6ffc", - "sha256:aea7da970f1feccf48be7335f8b2ca64baf9b589d79e05b9397a06696ce1a1ec", - "sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd", - "sha256:b368e1aee1b9b75757942d44d7598dcd22a9dbb126affcbba82d15917f0cc155", - "sha256:bde997cac85fcac227b27d4fb2c7608a2c5f6558469b0eb704c5726ae49e1c52", - "sha256:c4c2872b3c91f9baa836147ca33650dc5c172e9273c808c3c3199c75490e709d", - "sha256:c59d2ad092dc0551d9f79d9d44d005c945ba95832a6798f98f9216ede3d5f485", - "sha256:d1da0a2e3b37b745a2b2a678a4c796462cf753aebf94edcc87dcc6b8641eae31", - "sha256:d8b7339180d00de83e930358223c617cc343dd08e1aa5ec7b06c3a121aec4e1d", - "sha256:dd4b3355b01273a56b20c219e74e7549e14370b31a4ffe42706a8cda91f19f6d", - "sha256:e08c470c2eb01977d221fd87495b44867a56d4d594f43739a8028f8646a51e0d", - "sha256:f5102a92855d518b0996eb197772f5ac2a527c0ec617124ad5242a3af5e25f85", - "sha256:f542287b1489c7a860d43a7d8883e27ca62ab84ca53c965d11dac1d3a1fab7ce", - "sha256:f78300789a708ac1f17e134593f577407d52d0417305435b134805c4fb135adb", - "sha256:f81bc26d609bf0fbc622c7122ba6307993c83c795d2d6f6f6fd8c000a770d974", - "sha256:f836c174c3a7f639bded48ec913f348c4761cbf49de4a20a956d3431a7c9cb24", - "sha256:fa21a04112c59ad54f69d80e376f7f9d0f5f9123ab87ecd18fbb9ec3a2beed56", - "sha256:fcf7d1d6f5da887ca04302db8e0e0cf56ce9a5e05f202720e49b3e8157ddb9a9", - "sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35" + "sha256:0086cd4fc71b7d485ac93ca4239c8f75732c2ae3ba83f6be1c9be59d9e2c6382", + "sha256:01c322ef2bbe15057bc4bf132b525b7e3f7206f071799eb8aa6ad1940bcf5fb1", + "sha256:03cafe82c1b32b770a29fd6de923625ccac3185a54a5e66606da26d105f37dac", + "sha256:044a0985a4f25b335882b0966625270a8d9db3d3409ddc49a4eb00b0ef5e8cee", + "sha256:07ed352205574aad067482e53dd606926afebcb5590653121063fbf4e2175166", + "sha256:0d1b923fc4a40c5832be4f35a5dab0e5ff89cddf83bb4174499e02ea089daf57", + "sha256:0e7b27d04131c46e6894f23a4ae186a6a2207209a05df5b6ad4caee6d54a222c", + "sha256:1fad32ee9b27350687035cb5fdf9145bc9cf0a094a9577d43e909948ebcfa27b", + "sha256:289cc803fa1dc901f84701ac10c9ee873619320f2f9aff38794db4a4a0268d51", + "sha256:3c59105f8d58ce500f348c5b56163a4113a440dad6daa2294b5052a10db866da", + "sha256:46c3d091059ad0b9c59d1034de74a7f36dcfa7f6d3bde782c49deb42438f2450", + "sha256:482855914928c8175735a2a59c8dc5806cf7d8f032e4820d52e845d1f731dca2", + "sha256:49c76cdfa13015c4560702574bad67f0e15ca5a2872c6a125f6327ead2b731dd", + "sha256:4b03741e70fb811d1a9a1d75355cf391f274ed85847f4b78e35459899f57af4d", + "sha256:4bea27c4269234e06f621f3fac3925f56ff34bc14521484b8f66a580aacc2e7d", + "sha256:4d5fae0a22dc86259dee66f2cc6c1d3e490c4a1214d7daa2a93d07491c5c04b6", + "sha256:543ef9179bc55edfd895154a51792b01c017c87af0ebaae092720152e19e42ca", + "sha256:54dece71673b3187c86226c3ca793c5f891f9fc3d8aa183f2e3653da18566169", + "sha256:6379688fb4cfa921ae349c76eb1a9ab26b65f32b03d46bb0eed841fd4cb6afb1", + "sha256:65fa405b837060db569a61ec368b74688f429b32fa47a8929a7a2f9b47183713", + "sha256:6616d1c9bf1e3faea78711ee42a8b972367d82ceae233ec0ac61cc7fec09fa6b", + "sha256:6fe885135c8a479d3e37a7aae61cbd3a0fb2deccb4dda3c25f92a49189f766d6", + "sha256:7221f9ac9dad9492cecab6f676b3eaf9185141539d5c9689d13fd6b0d7de840c", + "sha256:76d5f82213aa78098b9b964ea89de4617e70e0d43e97900c2778a50856dac605", + "sha256:7792f0ab20df8071d669d929c75c97fecfa6bcab82c10ee4adb91c7a54055463", + "sha256:831b476d79408ab6ccfadaaf199906c833f02fdb32c9ab907b1d4aa0713cfa3b", + "sha256:9146579352d7b5f6412735d0f203bbd8d00113a680b66565e205bc605ef81bc6", + "sha256:9cc44bf0315268e253bf563f3560e6c004efe38f76db03a1558274a6e04bf5d5", + "sha256:a73d18625f6a8a1cbb11eadc1d03929f9510f4131879288e3f7922097a429f63", + "sha256:a8659fd33ee9e6ca03950cfdcdf271d645cf681609153f218826dd9805ab585c", + "sha256:a94925102c89247530ae1dab7dc02c690942566f22e189cbd53579b0693c0783", + "sha256:ad4567d6c334c46046d1c4c20024de2a1c3abc626817ae21ae3da600f5779b44", + "sha256:b2e16f4cd2bc4d88ba30ca2d3bbf2f21f00f382cf4e1ce3b1ddc96c634bc48ca", + "sha256:bbdf9a72403110a3bdae77948b8011f644571311c2fb35ee15f0f10a8fc082e8", + "sha256:beb08e8508e53a568811016e59f3234d29c2583f6b6e28572f0954a6b4f7e03d", + "sha256:c4cbe651f3904e28f3a55d6f371203049034b4ddbce65a54527a3f189ca3b390", + "sha256:c7b525ab52ce18c57ae232ba6f7010297a87ced82a2383b1afd238849c1ff933", + "sha256:ca5d79cfdae420a1d52bf177de4bc2289c321d6c961ae321503b2ca59c17ae67", + "sha256:cdab02a0a941af190df8782aafc591ef3ad08824f97850b015c8c6a8b3877b0b", + "sha256:d17c6a415d68cfe1091d3296ba5749d3d8696e42c37fca5d4860c5bf7b729f03", + "sha256:d39bd10f0ae453554798b125d2f39884290c480f56e8a02ba7a6ed552005243b", + "sha256:d4b3cd1ca7cd73d229487fa5caca9e4bc1f0bca96526b922d61053ea751fe791", + "sha256:d50a252b23b9b4dfeefc1f663c568a221092cbaded20a05a11665d0dbec9b8fb", + "sha256:da8549d17489cd52f85a9829d0e1d91059359b3c54a26f28bec2c5d369524807", + "sha256:dcd070b5b585b50e6617e8972f3fbbee786afca71b1936ac06257f7e178f00f6", + "sha256:ddaaa91bfc4477d2871442bbf30a125e8fe6b05da8a0015507bfbf4718228ab2", + "sha256:df423f351b162a702c053d5dddc0fc0ef9a9e27ea3f449781ace5f906b664428", + "sha256:dff044f661f59dace805eedb4a7404c573b6ff0cdba4a524141bc63d7be5c7fd", + "sha256:e7e128f85c0b419907d1f38e616c4f1e9f1d1b37a7949f44df9a73d5da5cd53c", + "sha256:ed8d1d1821ba5fc88d4a4f45387b65de52382fa3ef1f0115a4f7a20cdfab0e94", + "sha256:f2501d60d7497fd55e391f423f965bbe9e650e9ffc3c627d5f0ac516026000b8", + "sha256:f7db0b6ae1f96ae41afe626095149ecd1b212b424626175a6633c2999eaad45b" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==7.5.3" + "version": "==7.6.0" }, "distlib": { "hashes": [ @@ -1307,28 +1247,28 @@ }, "filelock": { "hashes": [ - "sha256:43339835842f110ca7ae60f1e1c160714c5a6afd15a2873419ab185334975c0f", - "sha256:6ea72da3be9b8c82afd3edcf99f2fffbb5076335a5ae4d03248bb5b6c3eae78a" + "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb", + "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7" ], "markers": "python_version >= '3.8'", - "version": "==3.14.0" + "version": "==3.15.4" }, "flake8": { "hashes": [ - "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132", - "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3" + "sha256:2e416edcc62471a64cea09353f4e7bdba32aeb079b6e360554c659a122b1bc6a", + "sha256:48a07b626b55236e0fb4784ee69a465fbf59d79eec1f5b4785c3d3bc57d17aa5" ], "index": "pypi", "markers": "python_full_version >= '3.8.1'", - "version": "==7.0.0" + "version": "==7.1.0" }, "identify": { "hashes": [ - "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa", - "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d" + "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf", + "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0" ], "markers": "python_version >= '3.8'", - "version": "==2.5.36" + "version": "==2.6.0" }, "idna": { "hashes": [ @@ -1485,37 +1425,37 @@ }, "mypy": { "hashes": [ - "sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061", - "sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99", - "sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de", - "sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a", - "sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9", - "sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec", - "sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1", - "sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131", - "sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f", - "sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821", - "sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5", - "sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee", - "sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e", - "sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746", - "sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2", - "sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0", - "sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b", - "sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53", - "sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30", - "sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda", - "sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051", - "sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2", - "sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7", - "sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee", - "sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727", - "sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976", - "sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4" + "sha256:0bea2a0e71c2a375c9fa0ede3d98324214d67b3cbbfcbd55ac8f750f85a414e3", + "sha256:104e9c1620c2675420abd1f6c44bab7dd33cc85aea751c985006e83dcd001095", + "sha256:14f9294528b5f5cf96c721f231c9f5b2733164e02c1c018ed1a0eff8a18005ac", + "sha256:1a5d8d8dd8613a3e2be3eae829ee891b6b2de6302f24766ff06cb2875f5be9c6", + "sha256:1d44c1e44a8be986b54b09f15f2c1a66368eb43861b4e82573026e04c48a9e20", + "sha256:25bcfa75b9b5a5f8d67147a54ea97ed63a653995a82798221cca2a315c0238c1", + "sha256:35ce88b8ed3a759634cb4eb646d002c4cef0a38f20565ee82b5023558eb90c00", + "sha256:56913ec8c7638b0091ef4da6fcc9136896914a9d60d54670a75880c3e5b99ace", + "sha256:65f190a6349dec29c8d1a1cd4aa71284177aee5949e0502e6379b42873eddbe7", + "sha256:6801319fe76c3f3a3833f2b5af7bd2c17bb93c00026a2a1b924e6762f5b19e13", + "sha256:72596a79bbfb195fd41405cffa18210af3811beb91ff946dbcb7368240eed6be", + "sha256:93743608c7348772fdc717af4aeee1997293a1ad04bc0ea6efa15bf65385c538", + "sha256:940bfff7283c267ae6522ef926a7887305945f716a7704d3344d6d07f02df850", + "sha256:96f8dbc2c85046c81bcddc246232d500ad729cb720da4e20fce3b542cab91287", + "sha256:98790025861cb2c3db8c2f5ad10fc8c336ed2a55f4daf1b8b3f877826b6ff2eb", + "sha256:a3824187c99b893f90c845bab405a585d1ced4ff55421fdf5c84cb7710995229", + "sha256:a83ec98ae12d51c252be61521aa5731f5512231d0b738b4cb2498344f0b840cd", + "sha256:becc9111ca572b04e7e77131bc708480cc88a911adf3d0239f974c034b78085c", + "sha256:c1a184c64521dc549324ec6ef7cbaa6b351912be9cb5edb803c2808a0d7e85ac", + "sha256:c7b73a856522417beb78e0fb6d33ef89474e7a622db2653bc1285af36e2e3e3d", + "sha256:cea3d0fb69637944dd321f41bc896e11d0fb0b0aa531d887a6da70f6e7473aba", + "sha256:d2b3d36baac48e40e3064d2901f2fbd2a2d6880ec6ce6358825c85031d7c0d4d", + "sha256:d7b54c27783991399046837df5c7c9d325d921394757d09dbcbf96aee4649fe9", + "sha256:d8e2e43977f0e09f149ea69fd0556623919f816764e26d74da0c8a7b48f3e18a", + "sha256:dbe286303241fea8c2ea5466f6e0e6a046a135a7e7609167b07fd4e7baf151bf", + "sha256:f006e955718ecd8d159cee9932b64fba8f86ee6f7728ca3ac66c3a54b0062abe", + "sha256:f2268d9fcd9686b61ab64f077be7ffbc6fbcdfb4103e5dd0cc5eaab53a8886c2" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.10.0" + "version": "==1.11.0" }, "mypy-extensions": { "hashes": [ @@ -1536,19 +1476,19 @@ }, "nodeenv": { "hashes": [ - "sha256:07f144e90dae547bf0d4ee8da0ee42664a42a04e02ed68e06324348dafe4bdb1", - "sha256:508ecec98f9f3330b636d4448c0f1a56fc68017c68f1e7857ebc52acf0eb879a" + "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", + "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", - "version": "==1.9.0" + "version": "==1.9.1" }, "packaging": { "hashes": [ - "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5", - "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9" + "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002", + "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124" ], - "markers": "python_version >= '3.7'", - "version": "==24.0" + "markers": "python_version >= '3.8'", + "version": "==24.1" }, "pathspec": { "hashes": [ @@ -1609,11 +1549,11 @@ }, "pycodestyle": { "hashes": [ - "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f", - "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67" + "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c", + "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4" ], "markers": "python_version >= '3.8'", - "version": "==2.11.1" + "version": "==2.12.0" }, "pyflakes": { "hashes": [ @@ -1633,20 +1573,20 @@ }, "pyproject-api": { "hashes": [ - "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538", - "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675" + "sha256:2dc1654062c2b27733d8fd4cdda672b22fe8741ef1dde8e3a998a9547b071eeb", + "sha256:7ebc6cd10710f89f4cf2a2731710a98abce37ebff19427116ff2174c9236a827" ], "markers": "python_version >= '3.8'", - "version": "==1.6.1" + "version": "==1.7.1" }, "pytest": { "hashes": [ - "sha256:5046e5b46d8e4cac199c373041f26be56fdb81eb4e67dc11d4e10811fc3408fd", - "sha256:faccc5d332b8c3719f40283d0d44aa5cf101cec36f88cde9ed8f2bc0538612b1" + "sha256:7e8e5c5abd6e93cb1cc151f23e57adc31fcf8cfd2a3ff2da63e23f732de35db6", + "sha256:e9600ccf4f563976e2c99fa02c7624ab938296551f280835ee6516df8bc4ae8c" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==8.2.1" + "version": "==8.3.1" }, "pytest-cov": { "hashes": [ @@ -1757,11 +1697,11 @@ }, "s3transfer": { "hashes": [ - "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19", - "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d" + "sha256:0711534e9356d3cc692fdde846b4a1e4b0cb6519971860796e6bc4c7aea00ef6", + "sha256:eca1c20de70a39daee580aef4986996620f365c4e0fda6a86100231d62f1bf69" ], "markers": "python_version >= '3.8'", - "version": "==0.10.1" + "version": "==0.10.2" }, "six": { "hashes": [ @@ -1816,12 +1756,12 @@ }, "sphinxcontrib-htmlhelp": { "hashes": [ - "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015", - "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04" + "sha256:1b9af5a2671a61410a868fce050cab7ca393c218e6205cbc7f590136f207395c", + "sha256:c6597da06185f0e3b4dc952777a04200611ef563882e0c244d27a15ee22afa73" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==2.0.5" + "version": "==2.0.6" }, "sphinxcontrib-jquery": { "hashes": [ @@ -1849,12 +1789,12 @@ }, "sphinxcontrib-qthelp": { "hashes": [ - "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6", - "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182" + "sha256:323d6acc4189af76dfe94edd2a27d458902319b60fcca2aeef3b2180c106a75f", + "sha256:db3f8fa10789c7a8e76d173c23364bdf0ebcd9449969a9e6a3dd31b8b7469f03" ], "index": "pypi", "markers": "python_version >= '3.9'", - "version": "==1.0.7" + "version": "==1.0.8" }, "sphinxcontrib-serializinghtml": { "hashes": [ @@ -1875,37 +1815,37 @@ }, "tox": { "hashes": [ - "sha256:300055f335d855b2ab1b12c5802de7f62a36d4fd53f30bd2835f6a201dda46ea", - "sha256:7a0beeef166fbe566f54f795b4906c31b428eddafc0102ac00d20998dd1933f6" + "sha256:43499656f9949edb681c0f907f86fbfee98677af9919d8b11ae5ad77cb800748", + "sha256:61e101061b977b46cf00093d4319438055290ad0009f84497a07bf2d2d7a06d0" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==4.15.0" + "version": "==4.16.0" }, "typing-extensions": { "hashes": [ - "sha256:8cbcdc8606ebcb0d95453ad7dc5065e6237b6aa230a31e81d0f440c30fed5fd8", - "sha256:b349c66bea9016ac22978d800cfff206d5f9816951f12a7d0ec5578b0a819594" + "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", + "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8" ], "markers": "python_version >= '3.8'", - "version": "==4.12.0" + "version": "==4.12.2" }, "urllib3": { "hashes": [ - "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d", - "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19" + "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472", + "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168" ], "markers": "python_version >= '3.10'", - "version": "==2.2.1" + "version": "==2.2.2" }, "virtualenv": { "hashes": [ - "sha256:82bf0f4eebbb78d36ddaee0283d43fe5736b53880b8a8cdcd37390a07ac3741c", - "sha256:a624db5e94f01ad993d476b9ee5346fdf7b9de43ccaee0e0197012dc838a0e9b" + "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a", + "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589" ], "index": "pypi", "markers": "python_version >= '3.7'", - "version": "==20.26.2" + "version": "==20.26.3" } } } diff --git a/requirements-dev.txt b/requirements-dev.txt index a0dc6347..77a4251d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,26 +1,26 @@ -i https://pypi.org/simple alabaster==0.7.16; python_version >= '3.9' -awscli==1.32.116; python_version >= '3.8' +awscli==1.33.30; python_version >= '3.8' awscli-local==0.22.0 babel==2.15.0; python_version >= '3.8' -bandit==1.7.8; python_version >= '3.8' +bandit==1.7.9; python_version >= '3.8' black==24.4.2; python_version >= '3.8' -boto3==1.34.93; python_version >= '3.8' -botocore==1.34.116; python_version >= '3.8' -cachetools==5.3.3; python_version >= '3.7' -certifi==2024.2.2; python_version >= '3.6' +boto3==1.34.148; python_version >= '3.8' +botocore==1.34.148; python_version >= '3.8' +cachetools==5.4.0; python_version >= '3.7' +certifi==2024.7.4; python_version >= '3.6' cfgv==3.4.0; python_version >= '3.8' chardet==5.2.0; python_version >= '3.7' charset-normalizer==3.3.2; python_full_version >= '3.7.0' click==8.1.7; python_version >= '3.7' colorama==0.4.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6' -coverage[toml]==7.5.3; python_version >= '3.8' +coverage[toml]==7.6.0; python_version >= '3.8' distlib==0.3.8 docutils==0.16; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' execnet==2.1.1; python_version >= '3.8' -filelock==3.14.0; python_version >= '3.8' -flake8==7.0.0; python_full_version >= '3.8.1' -identify==2.5.36; python_version >= '3.8' +filelock==3.15.4; python_version >= '3.8' +flake8==7.1.0; python_full_version >= '3.8.1' +identify==2.6.0; python_version >= '3.8' idna==3.7; python_version >= '3.5' imagesize==1.4.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' iniconfig==2.0.0; python_version >= '3.7' @@ -33,11 +33,11 @@ markupsafe==2.1.5; python_version >= '3.7' mccabe==0.7.0; python_version >= '3.6' mdit-py-plugins==0.3.5; python_version >= '3.7' mdurl==0.1.2; python_version >= '3.7' -mypy==1.10.0; python_version >= '3.8' +mypy==1.11.0; python_version >= '3.8' mypy-extensions==1.0.0; python_version >= '3.5' myst-parser==1.0.0; python_version >= '3.7' -nodeenv==1.9.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6' -packaging==24.0; python_version >= '3.7' +nodeenv==1.9.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6' +packaging==24.1; python_version >= '3.8' pathspec==0.12.1; python_version >= '3.8' pbr==6.0.0; python_version >= '2.6' platformdirs==4.2.2; python_version >= '3.8' @@ -45,11 +45,11 @@ pluggy==1.5.0; python_version >= '3.8' pre-commit==3.7.1; python_version >= '3.9' pretend==1.0.9 pyasn1==0.6.0; python_version >= '3.8' -pycodestyle==2.11.1; python_version >= '3.8' +pycodestyle==2.12.0; python_version >= '3.8' pyflakes==3.2.0; python_version >= '3.8' pygments==2.18.0; python_version >= '3.8' -pyproject-api==1.6.1; python_version >= '3.8' -pytest==8.2.1; python_version >= '3.8' +pyproject-api==1.7.1; python_version >= '3.8' +pytest==8.3.1; python_version >= '3.8' pytest-cov==5.0.0; python_version >= '3.8' pytest-xdist==3.6.1; python_version >= '3.8' python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' @@ -57,28 +57,28 @@ pyyaml==6.0.1; python_version >= '3.6' requests==2.32.3; python_version >= '3.8' rich==13.7.1; python_full_version >= '3.7.0' rsa==4.7.2; python_version >= '3.5' and python_version < '4' -s3transfer==0.10.1; python_version >= '3.8' +s3transfer==0.10.2; python_version >= '3.8' six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' snowballstemmer==2.2.0 sphinx==5.3.0; python_version >= '3.6' sphinx-rtd-theme==2.0.0; python_version >= '3.6' sphinxcontrib-applehelp==1.0.8; python_version >= '3.9' sphinxcontrib-devhelp==1.0.6; python_version >= '3.9' -sphinxcontrib-htmlhelp==2.0.5; python_version >= '3.9' +sphinxcontrib-htmlhelp==2.0.6; python_version >= '3.9' sphinxcontrib-jquery==4.1; python_version >= '2.7' sphinxcontrib-jsmath==1.0.1; python_version >= '3.5' sphinxcontrib-plantuml==0.30 -sphinxcontrib-qthelp==1.0.7; python_version >= '3.9' +sphinxcontrib-qthelp==1.0.8; python_version >= '3.9' sphinxcontrib-serializinghtml==1.1.10; python_version >= '3.9' stevedore==5.2.0; python_version >= '3.8' -tox==4.15.0; python_version >= '3.8' -typing-extensions==4.12.0; python_version >= '3.8' -urllib3==2.2.1; python_version >= '3.10' -virtualenv==20.26.2; python_version >= '3.7' -alembic==1.13.1; python_version >= '3.8' +tox==4.16.0; python_version >= '3.8' +typing-extensions==4.12.2; python_version >= '3.8' +urllib3==2.2.2; python_version >= '3.10' +virtualenv==20.26.3; python_version >= '3.7' +alembic==1.13.2; python_version >= '3.8' amqp==5.2.0; python_version >= '3.6' annotated-types==0.7.0; python_version >= '3.8' -awswrangler==3.7.3; python_version >= '3.8' and python_version < '4.0' +awswrangler==3.9.0; python_version >= '3.8' and python_version < '4.0' billiard==4.2.0; python_version >= '3.7' celery==5.4.0; python_version >= '3.8' cffi==1.16.0; platform_python_implementation != 'PyPy' @@ -86,27 +86,26 @@ click-didyoumean==0.3.1; python_full_version >= '3.6.2' click-plugins==1.1.1 click-repl==0.3.0; python_version >= '3.6' configobj==5.0.8 -cryptography==42.0.7 -dynaconf[ini]==3.2.5; python_version >= '3.8' -greenlet==3.0.3; platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32'))))) +cryptography==43.0.0 +dynaconf[ini]==3.2.6; python_version >= '3.8' kombu==5.3.7; python_version >= '3.8' mako==1.3.5; python_version >= '3.8' numpy==1.26.4; python_version >= '3.12' pandas==2.2.2; python_version >= '3.9' -prompt-toolkit==3.0.45; python_full_version >= '3.7.0' +prompt-toolkit==3.0.47; python_full_version >= '3.7.0' psycopg2==2.9.9; python_version >= '3.7' -pyarrow==16.1.0; python_version >= '3.8' +pyarrow==17.0.0; python_version >= '3.8' pycparser==2.22; python_version >= '3.8' -pydantic==2.7.2; python_version >= '3.8' -pydantic-core==2.18.3; python_version >= '3.8' -pynacl==1.5.0; python_version >= '3.6' +pydantic==2.8.2; python_version >= '3.8' +pydantic-core==2.20.1; python_version >= '3.8' +pynacl==1.5.0 pytz==2024.1 -redis==5.0.4; python_version >= '3.7' -setuptools==70.0.0; python_version >= '3.8' -sqlalchemy==2.0.30; python_version >= '3.7' -securesystemslib[crypto]==1.0.0; python_version ~= '3.8' +redis==5.0.7; python_version >= '3.7' +securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' +setuptools==71.1.0; python_version >= '3.8' +sqlalchemy==2.0.31; python_version >= '3.7' supervisor==4.2.5 -tuf @ git+https://github.com/theupdateframework/python-tuf@a7b832b88ff3c094aafdd78a72bbcf19a93b0bf0 ; python_version >= '3.8' +tuf==4.0.0; python_version >= '3.8' tzdata==2024.1; python_version >= '2' vine==5.1.0; python_version >= '3.6' watchdog==4.0.1; python_version >= '3.8' diff --git a/requirements.txt b/requirements.txt index a09b928d..24e38ba7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,13 @@ -i https://pypi.org/simple -alembic==1.13.1; python_version >= '3.8' +alembic==1.13.2; python_version >= '3.8' amqp==5.2.0; python_version >= '3.6' annotated-types==0.7.0; python_version >= '3.8' -awswrangler==3.7.3; python_version >= '3.8' and python_version < '4.0' +awswrangler==3.9.0; python_version >= '3.8' and python_version < '4.0' billiard==4.2.0; python_version >= '3.7' -boto3==1.34.93; python_version >= '3.8' -botocore==1.34.116; python_version >= '3.8' +boto3==1.34.148; python_version >= '3.8' +botocore==1.34.148; python_version >= '3.8' celery==5.4.0; python_version >= '3.8' -certifi==2024.2.2; python_version >= '3.6' +certifi==2024.7.4; python_version >= '3.6' cffi==1.16.0; platform_python_implementation != 'PyPy' charset-normalizer==3.3.2; python_full_version >= '3.7.0' click==8.1.7; python_version >= '3.7' @@ -15,39 +15,37 @@ click-didyoumean==0.3.1; python_full_version >= '3.6.2' click-plugins==1.1.1 click-repl==0.3.0; python_version >= '3.6' configobj==5.0.8 -cryptography==42.0.7 -dynaconf[ini]==3.2.5; python_version >= '3.8' -greenlet==3.0.3; platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32'))))) +cryptography==43.0.0 +dynaconf[ini]==3.2.6; python_version >= '3.8' idna==3.7; python_version >= '3.5' jmespath==1.0.1; python_version >= '3.7' kombu==5.3.7; python_version >= '3.8' mako==1.3.5; python_version >= '3.8' markupsafe==2.1.5; python_version >= '3.7' numpy==1.26.4; python_version >= '3.12' -packaging==24.0; python_version >= '3.7' +packaging==24.1; python_version >= '3.8' pandas==2.2.2; python_version >= '3.9' -prompt-toolkit==3.0.45; python_full_version >= '3.7.0' +prompt-toolkit==3.0.47; python_full_version >= '3.7.0' psycopg2==2.9.9; python_version >= '3.7' -pyarrow==16.1.0; python_version >= '3.8' +pyarrow==17.0.0; python_version >= '3.8' pycparser==2.22; python_version >= '3.8' -pydantic==2.7.2; python_version >= '3.8' -pydantic-core==2.18.3; python_version >= '3.8' -pynacl==1.5.0; python_version >= '3.6' +pydantic==2.8.2; python_version >= '3.8' +pydantic-core==2.20.1; python_version >= '3.8' +pynacl==1.5.0 python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' pytz==2024.1 -redis==5.0.4; python_version >= '3.7' +redis==5.0.7; python_version >= '3.7' requests==2.32.3; python_version >= '3.8' -s3transfer==0.10.1; python_version >= '3.8' -setuptools==70.0.0; python_version >= '3.8' -securesystemslib[crypto]==1.0.0; python_version ~= '3.8' -setuptools==69.5.1; python_version >= '3.8' +s3transfer==0.10.2; python_version >= '3.8' +securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' +setuptools==71.1.0; python_version >= '3.8' six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' -sqlalchemy==2.0.30; python_version >= '3.7' +sqlalchemy==2.0.31; python_version >= '3.7' supervisor==4.2.5 tuf==4.0.0; python_version >= '3.8' -typing-extensions==4.12.0; python_version >= '3.8' +typing-extensions==4.12.2; python_version >= '3.8' tzdata==2024.1; python_version >= '2' -urllib3==2.2.1; python_version >= '3.10' +urllib3==2.2.2; python_version >= '3.10' vine==5.1.0; python_version >= '3.6' watchdog==4.0.1; python_version >= '3.8' wcwidth==0.2.13 diff --git a/tox.ini b/tox.ini index 4e736954..1a88e309 100644 --- a/tox.ini +++ b/tox.ini @@ -12,9 +12,6 @@ setenv = RSTUF_SQL_SERVER = postgresql://fake-sql RSTUF_STORAGE_BACKEND = LocalStorage RSTUF_LOCAL_STORAGE_BACKEND_PATH = ./data-test/s - RSTUF_KEYVAULT_BACKEND = LocalKeyVault - RSTUF_LOCAL_KEYVAULT_PATH = ./data-test/kv - RSTUF_LOCAL_KEYVAULT_KEYS = "online.key,strongPass" DATA_DIR = ./data-test deps = -r{toxinidir}/requirements.txt From 306c74105f2d5cd33381dae763540f7d5b36d7b4 Mon Sep 17 00:00:00 2001 From: Kairo Araujo Date: Thu, 25 Jul 2024 13:15:26 +0200 Subject: [PATCH 3/6] fixup! Update securesystemslib 1.0.0 (WIP) Signed-off-by: Kairo Araujo --- repository_service_tuf_worker/interfaces.py | 34 ------------- repository_service_tuf_worker/signer.py | 14 ------ .../test_interfaces.py | 14 ------ .../test_signer.py | 49 ------------------- 4 files changed, 111 deletions(-) diff --git a/repository_service_tuf_worker/interfaces.py b/repository_service_tuf_worker/interfaces.py index cbf10fa0..c3766ea8 100644 --- a/repository_service_tuf_worker/interfaces.py +++ b/repository_service_tuf_worker/interfaces.py @@ -22,36 +22,6 @@ class ServiceSettings: default: Optional[Any] = None -class IKeyVault(ABC): - @classmethod - @abstractmethod - def configure(cls, settings: Dynaconf) -> "IKeyVault": - """ - Run actions to verify, configure and create object using the settings. - """ - pass # pragma: no cover - - @classmethod - def from_dynaconf(cls, settings: Dynaconf) -> None: - """ - Run actions to verify and configure using the settings. - """ - _setup_service_dynaconf(cls, settings.KEYVAULT_BACKEND, settings) - - @classmethod - @abstractmethod - def settings(cls) -> List[ServiceSettings]: - """ - Define all the ServiceSettings required in settings. - """ - pass # pragma: no cover - - @abstractmethod - def get(self, public_key: Key) -> Signer: - """Return a signer using the online key.""" - pass # pragma: no cover - - class IStorage(ABC): @classmethod @abstractmethod @@ -155,9 +125,5 @@ def _setup_service_dynaconf(cls: Any, backend: Any, settings: Dynaconf): settings.STORAGE_BACKEND = backend settings.STORAGE = settings.STORAGE_BACKEND.configure(settings) - elif cls.__name__ == "IKeyVault": - settings.KEYVAULT_BACKEND = backend - settings.KEYVAULT = settings.KEYVAULT_BACKEND.configure(settings) - else: raise ValueError(f"Invalid Interface {cls.__name__}") diff --git a/repository_service_tuf_worker/signer.py b/repository_service_tuf_worker/signer.py index 69cb5c2a..d890ded8 100644 --- a/repository_service_tuf_worker/signer.py +++ b/repository_service_tuf_worker/signer.py @@ -16,8 +16,6 @@ Signer, ) -from repository_service_tuf_worker.interfaces import IKeyVault - class FileNameSigner(CryptoSigner): """File-based signer implementation. @@ -116,8 +114,6 @@ def __init__(self, settings: Dynaconf): if value := settings.get(name): self._ambient_settings[name] = value - # Cache KEYVAULT setting as fallback - self._vault = settings.get("KEYVAULT") self._signers: dict[str, Signer] = {} def get(self, key: Key) -> Signer: @@ -126,8 +122,6 @@ def get(self, key: Key) -> Signer: - signer is loaded from the uri included in the passed public key (see SIGNER_FOR_URI_SCHEME for available uri schemes) - additional signer settings can be provided "ambiently" (see __init__) - - RSTUF_KEYVAULT_BACKEND is used as fallback, if no URI is included - """ if key.keyid not in self._signers: @@ -138,12 +132,4 @@ def get(self, key: Key) -> Signer: self._signers[key.keyid] = signer - else: - if not isinstance(self._vault, IKeyVault): - raise ValueError( - "RSTUF_KEYVAULT_BACKEND is required for online signing" - ) - - self._signers[key.keyid] = self._vault.get(key) - return self._signers[key.keyid] diff --git a/tests/unit/tuf_repository_service_worker/test_interfaces.py b/tests/unit/tuf_repository_service_worker/test_interfaces.py index e9153632..9e612b1a 100644 --- a/tests/unit/tuf_repository_service_worker/test_interfaces.py +++ b/tests/unit/tuf_repository_service_worker/test_interfaces.py @@ -8,20 +8,6 @@ class TestInterfaces: - def test_IKeyVault(self): - class TestKeyVault(interfaces.IKeyVault): - @classmethod - def configure(): ... - - def get(): ... - - @classmethod - def settings(): ... - - test_keyvault = TestKeyVault() - - assert isinstance(test_keyvault, interfaces.IKeyVault) - def test_IStorage(self): class TestStorage(interfaces.IStorage): @classmethod diff --git a/tests/unit/tuf_repository_service_worker/test_signer.py b/tests/unit/tuf_repository_service_worker/test_signer.py index bd238b66..39caf3c7 100644 --- a/tests/unit/tuf_repository_service_worker/test_signer.py +++ b/tests/unit/tuf_repository_service_worker/test_signer.py @@ -11,7 +11,6 @@ from pretend import stub from securesystemslib.signer import AWSSigner, CryptoSigner, Key -from repository_service_tuf_worker.interfaces import IKeyVault from repository_service_tuf_worker.signer import ( RSTUF_ONLINE_KEY_URI_FIELD, FileNameSigner, @@ -48,54 +47,6 @@ def test_get_cached(self): assert store.get(fake_key) == fake_signer - def test_get_load_and_cache(self): - class FakeKeyVault(IKeyVault): - @classmethod - def configure(cls, settings): - pass - - @classmethod - def settings(cls): - pass - - def get(self, public_key): - return fake_signer - - fake_id = "fake_id" - fake_signer = stub() - fake_key = stub(keyid=fake_id, unrecognized_fields={}) - - settings = Dynaconf(KEYVAULT=FakeKeyVault()) - store = SignerStore(settings) - - assert not store._signers - assert store.get(fake_key) == fake_signer - assert fake_id in store._signers - - def test_get_no_vault(self): - fake_id = "fake_id" - fake_key = stub(keyid=fake_id, unrecognized_fields={}) - - settings = Dynaconf() - store = SignerStore(settings) - - with pytest.raises(ValueError): - store.get(fake_key) - - def test_get_from_file_uri(self, key_metadata): - path = _FILES / "pem" / "ed25519_private.pem" - uri = f"file2:{path}" - key_metadata[RSTUF_ONLINE_KEY_URI_FIELD] = uri - - fake_id = "fake_id" - key = Key.from_dict(fake_id, key_metadata) - - settings = Dynaconf() - store = SignerStore(settings) - signer = store.get(key) - - assert isinstance(signer, CryptoSigner) - def test_get_from_file_name_uri(self, key_metadata): dir_ = _FILES / "pem" uri = "fn:ed25519_private.pem" From 8a8853e13e1003b4101516ed8337f1171fbab498 Mon Sep 17 00:00:00 2001 From: Kairo Araujo Date: Thu, 25 Jul 2024 13:31:04 +0200 Subject: [PATCH 4/6] docs: update related docs about IKeyVault removal Signed-off-by: Kairo Araujo --- .../repository-service-tuf-worker-C2.puml | 6 - .../repository-service-tuf-worker-C3.puml | 9 - .../repository-service-tuf-worker-C2.png | Bin 90594 -> 78133 bytes .../repository-service-tuf-worker-C3.png | Bin 142481 -> 132653 bytes docs/source/devel/index.rst | 15 +- docs/source/devel/known_issues.rst | 340 ------------------ ...y_service_tuf_worker.services.keyvault.rst | 21 -- ...repository_service_tuf_worker.services.rst | 1 - repository_service_tuf_worker/signer.py | 11 +- 9 files changed, 7 insertions(+), 396 deletions(-) delete mode 100644 docs/source/devel/known_issues.rst delete mode 100644 docs/source/devel/repository_service_tuf_worker.services.keyvault.rst diff --git a/docs/diagrams/repository-service-tuf-worker-C2.puml b/docs/diagrams/repository-service-tuf-worker-C2.puml index 7fd8a548..a03036d3 100644 --- a/docs/diagrams/repository-service-tuf-worker-C2.puml +++ b/docs/diagrams/repository-service-tuf-worker-C2.puml @@ -56,14 +56,8 @@ Container_Boundary(repository_storage, "Storage Service"){ Container_Ext(aws_s3, "AWS S3", "Storage", $tags="aws_s3") #Grey Container_Ext(azure_blob, "Azure Blob", "Storage", $tags="azure_blob") #Grey } -Container_Boundary(key_storage, "Key Vault Service"){ - Container_Ext(key_fs, "Filesystem", "Storage", $tags="storage_service") #Grey - Container_Ext(aws_kms, "AWS KMS", "Storage", $tags="aws_kms") #Grey - Container_Ext(azure_kv, "Azure Key Vault", "Storage", $tags="azure_kv") #Grey -} Rel_D(broker, repository_service_tuf_worker, "Consumer", "Tasks") Rel_U(repository_service_tuf_worker, broker, "Publisher", "Tasks Results") -Rel_U(key_storage, repository_service_tuf_worker, "Read", "Online Keys") BiRel_U(repository_service_tuf_worker, redis, "Repository Configuration", "Consumer") BiRel_U(repository_service_tuf_worker, sql, "TargetsFiles, TargetsRoles", "") BiRel_R(repository_service_tuf_worker, data_dir, "Write/Read", "Service settings") diff --git a/docs/diagrams/repository-service-tuf-worker-C3.puml b/docs/diagrams/repository-service-tuf-worker-C3.puml index abd054f9..5a695c66 100644 --- a/docs/diagrams/repository-service-tuf-worker-C3.puml +++ b/docs/diagrams/repository-service-tuf-worker-C3.puml @@ -20,7 +20,6 @@ AddContainerTag("webui", $sprite="application_server", $legendText="Web UI Interface", $bgColor=Gray) -AddContainerTag("key_service", $sprite="lock_with_key_security", $legendText="Key Service", $bgColor=Gray) AddContainerTag("storage_service", $sprite="file_server", $legendText="Storage Service", $bgColor=Gray) AddContainerTag("rest_api", $sprite="web_server", $legendText="Repository REST API") AddContainerTag("repository_service_tuf_worker", $sprite="service_application", $legendText="Repository Metadata Worker") @@ -54,12 +53,8 @@ System_Boundary(repository_service_tuf_worker, "Repository Service for TUF Worke } Container_Boundary(interfaces, "interfaces") #CornflowerBlue { Container(IStorage, "Storage Interface") - Container(IKeyVault, "Key Vault Interface") } Container_Boundary(services, "services") #DeepSkyBlue{ - Container_Boundary(keyvault, "keyvault") #LightSteelBlue { - Container(LocalKeyVault, "LocalKeyVault", "File System") - } Container_Boundary(storage, "storage") #LightSteelBlue { Container(LocalStorage, "LocalStorage", "File System") } @@ -73,14 +68,10 @@ Container_Ext(broker, "Broker", "RabbitMQ, Redis, etc", $tags="queue") #Grey Container_Ext(redis, "Redis", "Redis Server", $tags="queue") #Grey Container_Ext(sql, "SQL", "SQL Server", $tags="sql_db") #Grey Container_Ext(ext_storage, "Metadata Storage", "specific technology", $tags="key_service") #Grey -Container_Ext(ext_key_storage, "Key Vault Storage", "specific technology", $tags="storage_service") #Grey Rel(LocalStorage, ext_storage, " ") -Rel(LocalKeyVault, ext_key_storage, " ") -Rel(IKeyVault, LocalKeyVault, "uses") Rel(IStorage, LocalStorage, "uses") Rel(metadata_repository, IStorage, " ") -Rel(metadata_repository, IKeyVault, " ") Rel(metadata_repository, celery, " ") Rel(metadata_repository, repository, " ") Rel(metadata_repository, dynaconf, " ") diff --git a/docs/source/_static/repository-service-tuf-worker-C2.png b/docs/source/_static/repository-service-tuf-worker-C2.png index a5a5da6f78f065fbf2aa3205c1f4512e9b93fdc9..a8a5e9f0624bcabc67a8c6c0f005bd0b091f3ba2 100644 GIT binary patch literal 78133 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

Ew@d(nP{$-9gPFz`rXjs?!5kPka@G_T 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 a@8$e?Hqp*MuI&QDASdv4W~HWHH~tIi!U+Wc literal 90594 zcmV(}K+wO5P)^?c_3(XbZ~PzFE4OxVQzGFZEP-MZ*6wY${zp#WE^Q!Safh~ zVQzGFZEOGm0001Zob0{nj^oIZF8E(hk@s}}=mriuNs$z(L3iVdn iXWz`=dr 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 A!vFvP diff --git a/docs/source/_static/repository-service-tuf-worker-C3.png b/docs/source/_static/repository-service-tuf-worker-C3.png index ed3516c478c0398ab8fc1b7fdcc93b53237716b1..b0dae9db6a03bf0bd587f1bc8611c0922fda2d64 100644 GIT binary patch literal 132653 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 literal 142481 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%0AjE^sV%qB~0}v_LI0hG6ZKr5h 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

{XVr-s__q|K?!+NJ~zv&q7M=~Ahl^t^YH66!e+ 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

ph`L&PG;{0;PBTjY@$;oKtzJ&1NiLOtIy1 z5V$OX7a?o21_%j%qn50U9pNk)mfs~YCnrQPJFhG9f*to25t-el-`8pjm6%9ek(lYH zWf*S(scefTGDy429gpQTE_ z7Mq?039N(`@)#Df!R?N#XEd5(!02tmPi3skycX;DXi^LXwbJkB2IHdgLKn`K%jhbs zXRhaLo)sHGc?_ywfCIMJ^L=@$0(8&k@M56B79AV7aW{9IA-kH-oDptVCtXF7qk zDcvJE?1`#bp&H@i`w_c%kJpo?)Jp%b+R$|@iua-qpA;&OLW=NmtT zw!FZCT}44*5D-4Vy-TD1FZj%afBsW+(I7v3(M>s@2iH+pxuru(vo{H$m(rOPY*X>* zIKlWK%QgN9)j}tY7Zk^<%VKKZ*}~|vaX*nx9=+`Bj65D4mH%W}8K}TW=RjZaT4DY* zi@a($_jD2Lw9LuzbT_`TSuT=WWv~`eIoU+K!)jc@y~QiRDa#En*coj7USG`rPKHz=ax^;^^LK2+m*MH9R+@WH%ki2GRd~g6WdQY+{C5Sjq zWabDvtzso~4eM1};~BCDrgz9)JK8o^)#B&b^w4Cj3NMoX{DoW1Y{dhW06T4h&I&P~ zPNYV|c_33q^!7B01La!SQKl7r*&&f(ijyO$KLCfqV4=)DV<&aAS+LZj+>Pj{%+j4E zRF*xNlEdNB*W0IYx+Kq{*I!iwvYExEoYIoO_rHxn1cs0CA$aVi1Am=`NnRc(-jaij}WTd0}lK_a)9N3n+Ug#>%8l@ zu+^$`4he9*lTsN@m)6Jm`XAi$@P<=3P%SE7FE~nkdnzomi9J(h^N}%QJWFj}%oTO0 z7FKozo!@O4M*B7{dl=k)0jVE5E_dxyM;%g1_gNYmd2X2qO~gHq24;)+<}HOD5qF9& zP|8CJkpB$;OBn1O+J(b+4t$>7R#sLjcvyn4F6>Kaf8w#7=!h|18M^i zNp`M3kO~az?BC_ENzpkw(rEnglMkN3Wbe$eh(d2da4okbKqdiP3lO4BB+;b{i$M5( z`@Fzqw2O^&p&d>6a9w||7cR5YT)IrcShNIh?3QY>i!>mxvzwNkygdya*=r2zon@Y( zX9u4)#g}-<2CgZq?>6!GwN(z>(R5u>WbO?$9<+u0tDVdqcNat;~CBk&XT5QR_M5HaQ@d1XSf;LLbuK5 zt05hPHi6!3TWdqHo02NV*dhdvCQc){qPcJ!yIVyPPM*HKQrp0@rBYLP64qb@bQHE! zppR}w-TE`OUT%~7b&3mdHp1j-J+wNolQVP6D8{KB8P0AxCGh-tH6XDAT_tjXdSBR_ z6|N{S-HkWmaM+x~Nk)FkT9pd_CkOYwbwuuha3yVI<|@J_Uv@v^lQ%3J5&GyT*5D{F ztMV`d*V14iX}mjqyQ~TxVe}GlJ+U(=s+(1CSxTP>{E13z%c`KO@(=fQNKNDcsfK-VUG>sQ|{yl91>)>l_W=;4BK*PPp_rC*(tC7HE4+se8 z@0T;hCs+C3Mqd1&A$3@dTpnbd%H?Gz)rRg5CFQRWfZ;?&EE~C=PpkbDbti5H(Qiix z^x~B)O&_R61DP6+e?ox2CkLm^SVRN`L&Nc));m<3JY22Q0QccQFhA0IQyQqzSpGys zy?3o_Ak>PC93LE{T8n-7Pu9o$AC{O2$k=}((X>7xE%XJUNjs**k<}*euzNG!nMMEb zxMta^g!(eTM&tM?K!^g|XuutjGE*rw;Z2bN)PpamFQuW3>hCn$g>L>M6&t7JM2tG- zI_tbybjM$NU*1ujew;DOZFtwt z^vH|nMDy0FR1?sGPII?vB9~a@p7w&-92ZZKfKF_GW}|D3WphOs;u4U)2cAw~yq� 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 s%xP@=#1P(^b diff --git a/docs/source/devel/index.rst b/docs/source/devel/index.rst index 73f38313..5356921b 100644 --- a/docs/source/devel/index.rst +++ b/docs/source/devel/index.rst @@ -67,7 +67,7 @@ Bootstrap @enduml Adding/Removing artifacts ------------------------ +------------------------- As mentioned at the container level, the domain of ``repository-service-tuf-worker`` (Repository Worker) is managing the TUF Repository Metadata. @@ -108,9 +108,7 @@ About **Bump Roles** (``bump_online_roles``) that contain online keys is easy. These roles have short expiration (defined during repository configuration) and must be "bumped" frequently. The implementation in the RepositoryMetadata -**Publish the new Hashed Bins Target Roles** (``publish_artifacts``) is part of the -solution for the :ref:`Repository Worker scalability, Issue 17 -`. +**Publish the new Hashed Bins Target Roles** (``publish_artifacts``) To understand more, every time the API sends a task to add a new artifact(s), the Hashed Bins Roles must be changed to add the new artifact(s), followed by a new @@ -219,14 +217,6 @@ AWSS3 1. Initiate the aws development environment ``make run-dev DC=aws`` -Important issues/problems -######################### - -.. toctree:: - :maxdepth: 1 - - known_issues - Implementation ############## @@ -238,5 +228,4 @@ Implementation repository_service_tuf_worker.models.targets repository_service_tuf_worker.services repository_service_tuf_worker.services.storage - repository_service_tuf_worker.services.keyvault modules \ No newline at end of file diff --git a/docs/source/devel/known_issues.rst b/docs/source/devel/known_issues.rst deleted file mode 100644 index b53e7157..00000000 --- a/docs/source/devel/known_issues.rst +++ /dev/null @@ -1,340 +0,0 @@ - -(Solved) Scalability -==================== - - `[Issue 17] `_ - - -The problem ------------ - -The Issue is solved, but still open for improvement. Suggestions for this -problem can be added to the `opened issue -`_. - - -The scalability works well for ``repository-service-tuf-api`` once you can scale -horizontally, having multiple instances of the Server API sending all -requests to the Broker. - -The scalability for ``repository-service-tuf-worker`` is not functional. - -The repository workers pick up the tasks randomly, but it is executed in -order once we use a `lock`. - -.. uml:: - - @startuml - !pragma teoz true - - participant "Broker queue" as broker - participant "repository-service-tuf-worker 1" as worker1 - participant "repository-service-tuf-worker 2" as worker2 - participant "repository-service-tuf-worker 3" as worker3 - participant "repository-service-tuf-worker 4" as worker4 - participant "repository-service-tuf-worker 5" as worker5 - - rnote over broker - task 01 - task 02 - task 03 - task 04 - task 05 - task 06 - task 07 - task 08 - endrnote - - broker o-> worker1 - note right #cyan: task 01 - &broker o-> worker2 - note right #cyan: task 02 - &broker o-> worker3 - note right #cyan: task 03 - &broker o-> worker4 - note right #cyan: task 04 - &broker o-> worker5 - note right #cyan: task 05 - - worker1 --> worker1: run task 01 - & worker1 -> broker: finish task 01 - broker o-> worker1 - note right #cyan: task 06 - - worker3 --> worker3: run task 02 - & worker3 -> broker: finish task 02 - broker o-> worker3 - note right #cyan: task 07 - - worker2 --> worker2: run task 03 - & worker2 -> broker: finish task 03 - broker o-> worker2 - note right #cyan: task 08 - - worker4 --> worker4: run task 05 - & worker4 -> broker: finish task 05 - - worker5 --> worker5: run task 04 - & worker5 -> broker: finish task 04 - - worker1 --> worker1: run task 06 - & worker1 -> broker: finish task 06 - - worker3 --> worker3: run task 07 - & worker3 -> broker: finish task 07 - - worker2 --> worker2: run task 08 - & worker2 -> broker: finish task 08 - @enduml - -The behavior ------------- - -The problem is the process of writing the role metadata files. - -For example, whenever you add an artifact to a delegated hash role (i.e. -``bins-e``), you need to write a new ``.bins-e.json``, bump the -``.snapshot.json`` and the ``.timestamp``. - - -.. uml:: - - @startuml - - participant "Broker/Backend" as broker - participant "add-target" as add-artifact - participant "Storage Backend" as storage #Grey - - broker o-> add-artifact: [task 01] - - add-artifact -> storage: loads latest bin-e.json - add-artifact <-- storage: 3.bin-e.json - add-artifact -> add-artifact: Add Artifact\nBump version - add-artifact -> storage: writes 4.bin-e.json - note right: 4.bin-e.json\n\tfile001 - - add-artifact -> storage: loads latest Snapshot - add-artifact <-- storage: 41.snapshot.json - add-artifact -> add-artifact: Add meta\nbump version - add-artifact -> storage: writes 42.snapshot.json - note right: 4.bin-e.json\n\tfile001\n42.snapshot.json\n\t4.bin-e - - add-artifact -> storage: loads Timestamp - add-artifact <-- storage: Timestamp.json (version 83) - add-artifact -> add-artifact: Add 42.snapshot.json - add-artifact -> storage: writes timestamp.json - note right: 4.bin-e.json\n\t file001\n42.snapshot.json\n\t4.bin-e\ntimestamp.json\n\t42.snapshot.json - add-artifact -> broker: [task 01] result - - @enduml - -If you have a hundred or thousand requests to add artifacts you might have -multiple new ``.bins-e.json`` followed by bumps in ``snapshot`` and -``timestamp``. There is a risk of race conditions. - -Exemple - -.. uml:: - - @startuml - - participant "Broker/Backend" as broker - participant "add-target" as add-artifact - participant "Storage Backend" as storage #Grey - - broker o-[#Blue]> add-artifact: [task 01] - add-artifact -[#Blue]> storage: loads latest bin-e.json - broker o-[#Green]> add-artifact: [task 02] - add-artifact -[#Green]> storage: loads latest bin-p.json - add-artifact <[#Blue]-- storage: 3.bin-e.json - add-artifact <[#Green]-- storage: 16.bin-p.json - add-artifact -[#Blue]-> add-artifact: 3.bin-e.json\n Add artifact\nBump version to 4 - add-artifact -[#Green]> add-artifact: 16.bin-e.json\n Add artifact\nBump version to 16 - add-artifact -[#Blue]> storage: writes 4.bin-e.json - add-artifact -[#Green]> storage: writes 16.bin-e.json - note right: 4.bin-e.json\n\tfile001\n16.bin-p.json\n\tfile003\n\tfile005 - - - add-artifact -[#Blue]> storage: loads latest Snapshot - add-artifact -[#Green]> storage: loads latest Snapshot - - add-artifact <[#Blue]-- storage: 41.snapshot.json - add-artifact <[#Green]-- storage: 41.snapshot.json - - add-artifact -[#Blue]> add-artifact: Add meta\nbump version - add-artifact -[#Green]> add-artifact: Add meta\nbump version - - add-artifact -[#Blue]> storage: writes 42.snapshot.json - note right: 4.bin-e.json\n\t \ - file001\n16.bin-p.json\n\tfile003\n\tfile005 \ - \n42.snapshot.json\n\t4.bin-e - add-artifact -[#Green]-> storage: writes 42.snapshot.json - destroy storage - note right#FFAAAA: 4.bin-e.json\n\t \ - file001\n16.bin-p.json\n\tfile003\n\tfile005 \ - \n42.snapshot.json\n\t16.bin-p \ - \n\t**missing 4.bin-e** - - add-artifact -[#Blue]> storage: loads Timestamp - add-artifact -[#Green]> storage: loads Timestamp - add-artifact <[#Blue]-- storage: Timestamp.json (version 83) - add-artifact -[#Blue]> add-artifact: Add 42.snapshot.json - add-artifact -[#Blue]> storage: writes timestamp.json (version 84) - note right#FFAAAA: 4.bin-e.json\n\t \ - file001\n16.bin-p.json\n\tfile003\n\tfile005 \ - \n42.snapshot.json\n\t16.bin-p \ - \n\t**missing 4.bin-e** \ - \ntimestamp.json \ - \n\tversion 84 \ - \n\t42.snapshot - - add-artifact -[#Blue]> broker: [task 01] result - - add-artifact <[#Green]-- storage: Timestamp.json (version 84) - add-artifact -[#Green]> add-artifact: Add 42.snapshot.json - add-artifact -[#Green]> add-artifact: Add artifact\nBump version to 85 - add-artifact -[#Green]> storage: writes timestamp.json (version 85) - note right#FFAAAA: 4.bin-e.json\n\t \ - file001\n16.bin-p.json\n\tfile003\n\tfile005 \ - \n42.snapshot.json\n\t16.bin-p \ - \n\t**missing 4.bin-e** \ - \ntimestamp.json \ - \n\tversion 84 \ - \n\t42.snapshot - add-artifact -[#Green]> broker: [task 02] result - - @enduml - -On one level, we optimize it `by grouping all changes for the same delegated hash -role `_ -, avoiding multiple interactions in the same task. - -However we still have a problem with the snapshot and ``timestamp``. -To avoid the problem, we use a lock system with one task per time. - -The lock protects against the race condition but does not solve the -scalability. Even having dozen ``repository-service-tuf-worker`` do not scale the -writing metadata process. - -.. uml:: - - @startuml - !pragma teoz true - - participant "Broker/Backend" as broker - participant "add-target" as add-artifact - participant "Storage Backend" as storage #Grey - - broker o-[#Blue]> add-artifact: [task 01] - note left #Red: Lock - add-artifact -[#Blue]> add-artifact: check lock - - broker o-[#Green]> add-artifact: [task 02] - add-artifact -[#Green]> add-artifact: check lock - note left #Orange: Waiting unlock - - group "task 01" execution - add-artifact -[#Blue]> storage: loads latest bin-e.json - add-artifact <[#Blue]-- storage: 3.bin-e.json - add-artifact -[#Blue]-> add-artifact: 3.bin-e.json\n Add artifact\nBump version to 4 - add-artifact -[#Blue]> storage: writes 4.bin-e.json - add-artifact -[#Blue]> storage: loads latest Snapshot - add-artifact <[#Blue]-- storage: 41.snapshot.json - add-artifact -[#Blue]> add-artifact: Add meta\nbump version - add-artifact -[#Blue]> storage: writes 42.snapshot.json - add-artifact -[#Blue]> storage: loads Timestamp - add-artifact <[#Blue]-- storage: Timestamp.json (version 83) - add-artifact -[#Blue]> add-artifact: Add 42.snapshot.json - add-artifact -[#Blue]> storage: writes timestamp.json (version 84) - note right: 4.bin-e.json\n\tfile001 \ - \n42.snapshot.json\n\t4.bin-e \ - \ntimestamp.json (version: 84) \ - \n\t42.snapshot - {finish_task01} add-artifact -[#Blue]> broker: [task 01] result - note left #Cyan: Unlock - end - - add-artifact -[#Green]> broker: [task 02] Lock - note left #Red: Lock - - group "task 02" execution - add-artifact <[#Green]-- storage: 16.bin-p.json - add-artifact -[#Green]> add-artifact: 16.bin-e.json\n Add artifact\nBump version to 16 - add-artifact -[#Green]> storage: writes 16.bin-e.json - add-artifact -[#Green]> storage: loads latest Snapshot - add-artifact <[#Green]-- storage: 42.snapshot.json - add-artifact -[#Green]> add-artifact: Add meta\nbump version - add-artifact -[#Green]> storage: loads Timestamp - add-artifact <[#Green]-- storage: Timestamp.json (version 84) - add-artifact -[#Green]> add-artifact: Add 43.snapshot.json - add-artifact -[#Green]> add-artifact: Add artifact\nBump version to 85 - add-artifact -[#Green]> storage: writes timestamp.json (version 85) - note right: 16.bin-p.json\n\tfile003\n\tfile005 \ - \n43.snapshot.json\n\t4.bin-e \n\t16.bin-p \ - \ntimestamp.json (version 85) \ - \n\t43.snapshot - add-artifact -[#Green]> broker: [task 02] result - note left #Cyan: Unlock - end - @enduml - -The expected behavior ---------------------- - - -.. uml:: - - @startuml - !pragma teoz true - - participant "Broker queue" as broker - participant "repository-service-tuf-worker 1" as worker1 - participant "repository-service-tuf-worker 2" as worker2 - participant "repository-service-tuf-worker 3" as worker3 - participant "repository-service-tuf-worker 4" as worker4 - participant "repository-service-tuf-worker 5" as worker5 - - rnote over broker - task 01 - task 02 - task 03 - task 04 - task 05 - task 06 - task 07 - task 08 - endrnote - - broker o-> worker1 - note right #cyan: task 01 - &broker o-> worker2 - note right #cyan: task 02\ttask06 - &broker o-> worker3 - note right #cyan: task 03\ttask04 - &broker o-> worker4 - note right #cyan: task 05\ttask07 - &broker o-> worker5 - note right #cyan: task08 - - worker1 --> worker1: run task 01 - & worker1 -> broker: finish task 01 - - worker2 --> worker2: run task 02\ttask 06 - & worker2 --> worker2: run task 06 - & worker2 -> broker: finish task 02\ttask 06 - - worker4 --> worker4: run task 05 - & worker4 -> broker: finish task 05 - &worker5 --> worker5: run task 05 - & worker5 -> broker: finish \t\ttask 08 - - worker3 --> worker3: run task 03 - & worker3 -> broker: finish task 03 - worker3 --> worker3: run task 04 - & worker3 -> broker: finish task 04 - - worker4 --> worker4: run task 07 - & worker4 -> broker: finish task 07 - @enduml - -Suggestions for this problem can be added to the `opened issue `_. \ No newline at end of file diff --git a/docs/source/devel/repository_service_tuf_worker.services.keyvault.rst b/docs/source/devel/repository_service_tuf_worker.services.keyvault.rst deleted file mode 100644 index 236806d4..00000000 --- a/docs/source/devel/repository_service_tuf_worker.services.keyvault.rst +++ /dev/null @@ -1,21 +0,0 @@ -repository\_service\_tuf\_worker.services.keyvault package -========================================================== - -Submodules ----------- - -repository\_service\_tuf\_worker.services.keyvault.local module ---------------------------------------------------------------- - -.. automodule:: repository_service_tuf_worker.services.keyvault.local - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: repository_service_tuf_worker.services.keyvault - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/devel/repository_service_tuf_worker.services.rst b/docs/source/devel/repository_service_tuf_worker.services.rst index c9ff47c3..2b683c2a 100644 --- a/docs/source/devel/repository_service_tuf_worker.services.rst +++ b/docs/source/devel/repository_service_tuf_worker.services.rst @@ -7,7 +7,6 @@ Subpackages .. toctree:: :maxdepth: 4 - repository_service_tuf_worker.services.keyvault repository_service_tuf_worker.services.storage Module contents diff --git a/repository_service_tuf_worker/signer.py b/repository_service_tuf_worker/signer.py index d890ded8..0e018a91 100644 --- a/repository_service_tuf_worker/signer.py +++ b/repository_service_tuf_worker/signer.py @@ -28,20 +28,17 @@ class FileNameSigner(CryptoSigner): NOTE: Make sure to use the secrets management service of your deployment platform to protect your private key! - Example:: - + Example: ONLINE_KEY_DIR (env) "/run/secrets" priv_key_uri (arg): "fn:foo" - File path: "/run/secrets/foo" Raises: KeyError: ONLINE_KEY_DIR environment variable not set OSError: file cannot be loaded ValueError: uri has no file name, or private key cannot be decoded, - or type does not match public key - cryptography.exceptions.UnsupportedAlgorithm: key type not supported - + or type does not match public key + `cryptography.exceptions.UnsupportedAlgorithm`: key type not supported """ SCHEME = "fn" @@ -54,6 +51,8 @@ def from_priv_key_uri( public_key: Key, secrets_handler: Optional[SecretsHandler] = None, ) -> "FileNameSigner": + """Factory constructor for a given private key URI.""" + _, _, file_name = priv_key_uri.partition(":") if not file_name: raise ValueError( From c2745de13b67dccd2e9d7a05c44acc2c76c412d8 Mon Sep 17 00:00:00 2001 From: Kairo Araujo Date: Thu, 25 Jul 2024 13:35:59 +0200 Subject: [PATCH 5/6] fixup! fixup! Update securesystemslib 1.0.0 (WIP) --- repository_service_tuf_worker/interfaces.py | 1 - tests/unit/tuf_repository_service_worker/test_signer.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/repository_service_tuf_worker/interfaces.py b/repository_service_tuf_worker/interfaces.py index c3766ea8..fa51fc27 100644 --- a/repository_service_tuf_worker/interfaces.py +++ b/repository_service_tuf_worker/interfaces.py @@ -9,7 +9,6 @@ from typing import Any, List, Optional from dynaconf import Dynaconf -from securesystemslib.signer import Key, Signer from tuf.api.metadata import Metadata, T diff --git a/tests/unit/tuf_repository_service_worker/test_signer.py b/tests/unit/tuf_repository_service_worker/test_signer.py index 39caf3c7..585a1a58 100644 --- a/tests/unit/tuf_repository_service_worker/test_signer.py +++ b/tests/unit/tuf_repository_service_worker/test_signer.py @@ -9,7 +9,7 @@ import pytest from dynaconf import Dynaconf from pretend import stub -from securesystemslib.signer import AWSSigner, CryptoSigner, Key +from securesystemslib.signer import AWSSigner, Key from repository_service_tuf_worker.signer import ( RSTUF_ONLINE_KEY_URI_FIELD, From 26dd46a0faf6086fcc1c8100e33349278b1be2c3 Mon Sep 17 00:00:00 2001 From: Kairo Araujo Date: Fri, 26 Jul 2024 10:05:52 +0200 Subject: [PATCH 6/6] fix: update the dependencies, including securesystemslib Signed-off-by: Kairo Araujo --- Pipfile | 2 +- Pipfile.lock | 164 +++++++------------------------------------ requirements-dev.txt | 16 ++--- requirements.txt | 12 ++-- 4 files changed, 37 insertions(+), 157 deletions(-) diff --git a/Pipfile b/Pipfile index 813bf107..cdb99bf8 100644 --- a/Pipfile +++ b/Pipfile @@ -9,7 +9,7 @@ redis = "*" tuf = "*" dynaconf = {extras = ["ini"], version = "*"} supervisor = "*" -securesystemslib = {extras = ["pynacl", "crypto"], version = ">-=0.31.0,<1.0.0"} +securesystemslib = "*" sqlalchemy = "*" psycopg2 = "*" alembic = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 335d6abc..db275e59 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "54ba40d5564bdc7e2df83db450703b1816d538f380f8eb03736a4258810fa7ca" + "sha256": "a223fab1291e919f32face0566c0a0611d8a821e3ef1d41c437e541815843395" }, "pipfile-spec": 6, "requires": { @@ -60,20 +60,20 @@ }, "boto3": { "hashes": [ - "sha256:2058397f0a92c301e3116e9e65fbbc70ea49270c250882d65043d19b7c6e2d17", - "sha256:d63d36e5a34533ba69188d56f96da132730d5e9932c4e11c02d79319cd1afcec" + "sha256:11edeeacdd517bda3b7615b754d8440820cdc9ddd66794cc995a9693ddeaa3be", + "sha256:f4e6489ba9dc7fb37d53e0e82dbc97f2cb0a4969ef3970e2c88b8f94023ae81a" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.34.148" + "version": "==1.34.149" }, "botocore": { "hashes": [ - "sha256:258dd95570b43db9fa21cce5426eabaea5867e3a61224157650448b5019d1bbd", - "sha256:9e09428b0bc4d0c1cf5e368dd6ab18eabf6047304060f8b5dd8391677cfe00e6" + "sha256:2e1eb5ef40102a3d796bb3dd05f2ac5e8fb43fe1ff114b4f6d33153437f5a372", + "sha256:ae6c4be52eeee96f68c116b27d252bab069cd046d61a17cfe8e9da411cf22906" ], "markers": "python_version >= '3.8'", - "version": "==1.34.148" + "version": "==1.34.149" }, "celery": { "hashes": [ @@ -92,64 +92,6 @@ "markers": "python_version >= '3.6'", "version": "==2024.7.4" }, - "cffi": { - "hashes": [ - "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc", - "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a", - "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417", - "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab", - "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520", - "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36", - "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743", - "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8", - "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed", - "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684", - "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56", - "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324", - "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d", - "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235", - "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e", - "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088", - "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000", - "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7", - "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e", - "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673", - "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c", - "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe", - "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2", - "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098", - "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8", - "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a", - "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0", - "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b", - "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896", - "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e", - "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9", - "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2", - "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b", - "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6", - "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404", - "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f", - "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0", - "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4", - "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc", - "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936", - "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba", - "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872", - "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb", - "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614", - "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1", - "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d", - "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969", - "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b", - "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4", - "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627", - "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956", - "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357" - ], - "markers": "platform_python_implementation != 'PyPy'", - "version": "==1.16.0" - }, "charset-normalizer": { "hashes": [ "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", @@ -285,38 +227,6 @@ ], "version": "==5.0.8" }, - "cryptography": { - "hashes": [ - "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709", - "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069", - "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2", - "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b", - "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e", - "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70", - "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778", - "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22", - "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895", - "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf", - "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431", - "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f", - "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947", - "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74", - "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc", - "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66", - "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66", - "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf", - "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f", - "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5", - "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e", - "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f", - "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55", - "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1", - "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47", - "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5", - "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0" - ], - "version": "==43.0.0" - }, "dynaconf": { "extras": [ "ini" @@ -581,14 +491,6 @@ "markers": "python_version >= '3.8'", "version": "==17.0.0" }, - "pycparser": { - "hashes": [ - "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", - "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc" - ], - "markers": "python_version >= '3.8'", - "version": "==2.22" - }, "pydantic": { "hashes": [ "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a", @@ -693,21 +595,6 @@ "markers": "python_version >= '3.8'", "version": "==2.20.1" }, - "pynacl": { - "hashes": [ - "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", - "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", - "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", - "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", - "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", - "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", - "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", - "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", - "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", - "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543" - ], - "version": "==1.5.0" - }, "python-dateutil": { "hashes": [ "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", @@ -754,11 +641,12 @@ "pynacl" ], "hashes": [ - "sha256:549d70f7be6460252d016f03edc5ec0128fee56af55d2b863a5db14541ddbf18", - "sha256:c1594afbcd5db198ec90c487e1720154afb71743d9f4bccf3dfda84de650c478" + "sha256:100bf04e60b260e1c7c51e3232647697fde2c5ca5772fda4932d841d3fb6dd0e", + "sha256:27143a8e04b5573636f260f21d7e26b48bcedcf394e6f74ec31e9a5287e0c38b" ], + "index": "pypi", "markers": "python_version ~= '3.8'", - "version": "==0.31.0" + "version": "==1.1.0" }, "setuptools": { "hashes": [ @@ -842,12 +730,12 @@ }, "tuf": { "hashes": [ - "sha256:87df89e5e50b0bf85ec84b7aabdac41a54cddaa8c6ce85ac5fae38ea786a12f6", - "sha256:a22ab5fa6daf910b3052929fdce42ccad8a300e5e85715daaff9592aed980f7a" + "sha256:91a4ca279c33222ac1451a5b0bcdcbbf12c965e0d22278bead5bf8d3ab95117a", + "sha256:9c5d87d3822ae2f83c756d5a208c6942a2829ae1ea63c18c363124497d04da4f" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==4.0.0" + "version": "==5.0.0" }, "typing-extensions": { "hashes": [ @@ -939,12 +827,12 @@ }, "awscli": { "hashes": [ - "sha256:a312b5a06b9cbad4b975bd86dd8fec15326594727f2da2025effc11638dafc89", - "sha256:dd8b26de3128c7fbfbdf30f08fe6a0c8ae789d589feb702e131ac81c35d9eddb" + "sha256:65fd818014a8abe2fa7ecbe77e784b8676e605105649fb9324b150ccf9f281d5", + "sha256:dd3ffc5a6ab7553db530eb88c4d2b3ed468ec216a67d3d589c91a6f502442b97" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.33.30" + "version": "==1.33.31" }, "awscli-local": { "hashes": [ @@ -1001,20 +889,20 @@ }, "boto3": { "hashes": [ - "sha256:2058397f0a92c301e3116e9e65fbbc70ea49270c250882d65043d19b7c6e2d17", - "sha256:d63d36e5a34533ba69188d56f96da132730d5e9932c4e11c02d79319cd1afcec" + "sha256:11edeeacdd517bda3b7615b754d8440820cdc9ddd66794cc995a9693ddeaa3be", + "sha256:f4e6489ba9dc7fb37d53e0e82dbc97f2cb0a4969ef3970e2c88b8f94023ae81a" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.34.148" + "version": "==1.34.149" }, "botocore": { "hashes": [ - "sha256:258dd95570b43db9fa21cce5426eabaea5867e3a61224157650448b5019d1bbd", - "sha256:9e09428b0bc4d0c1cf5e368dd6ab18eabf6047304060f8b5dd8391677cfe00e6" + "sha256:2e1eb5ef40102a3d796bb3dd05f2ac5e8fb43fe1ff114b4f6d33153437f5a372", + "sha256:ae6c4be52eeee96f68c116b27d252bab069cd046d61a17cfe8e9da411cf22906" ], "markers": "python_version >= '3.8'", - "version": "==1.34.148" + "version": "==1.34.149" }, "cachetools": { "hashes": [ @@ -1581,12 +1469,12 @@ }, "pytest": { "hashes": [ - "sha256:7e8e5c5abd6e93cb1cc151f23e57adc31fcf8cfd2a3ff2da63e23f732de35db6", - "sha256:e9600ccf4f563976e2c99fa02c7624ab938296551f280835ee6516df8bc4ae8c" + "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5", + "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==8.3.1" + "version": "==8.3.2" }, "pytest-cov": { "hashes": [ diff --git a/requirements-dev.txt b/requirements-dev.txt index 77a4251d..78db4b01 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,12 +1,12 @@ -i https://pypi.org/simple alabaster==0.7.16; python_version >= '3.9' -awscli==1.33.30; python_version >= '3.8' +awscli==1.33.31; python_version >= '3.8' awscli-local==0.22.0 babel==2.15.0; python_version >= '3.8' bandit==1.7.9; python_version >= '3.8' black==24.4.2; python_version >= '3.8' -boto3==1.34.148; python_version >= '3.8' -botocore==1.34.148; python_version >= '3.8' +boto3==1.34.149; python_version >= '3.8' +botocore==1.34.149; python_version >= '3.8' cachetools==5.4.0; python_version >= '3.7' certifi==2024.7.4; python_version >= '3.6' cfgv==3.4.0; python_version >= '3.8' @@ -49,7 +49,7 @@ pycodestyle==2.12.0; python_version >= '3.8' pyflakes==3.2.0; python_version >= '3.8' pygments==2.18.0; python_version >= '3.8' pyproject-api==1.7.1; python_version >= '3.8' -pytest==8.3.1; python_version >= '3.8' +pytest==8.3.2; python_version >= '3.8' pytest-cov==5.0.0; python_version >= '3.8' pytest-xdist==3.6.1; python_version >= '3.8' python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' @@ -81,12 +81,10 @@ annotated-types==0.7.0; python_version >= '3.8' awswrangler==3.9.0; python_version >= '3.8' and python_version < '4.0' billiard==4.2.0; python_version >= '3.7' celery==5.4.0; python_version >= '3.8' -cffi==1.16.0; platform_python_implementation != 'PyPy' click-didyoumean==0.3.1; python_full_version >= '3.6.2' click-plugins==1.1.1 click-repl==0.3.0; python_version >= '3.6' configobj==5.0.8 -cryptography==43.0.0 dynaconf[ini]==3.2.6; python_version >= '3.8' kombu==5.3.7; python_version >= '3.8' mako==1.3.5; python_version >= '3.8' @@ -95,17 +93,15 @@ pandas==2.2.2; python_version >= '3.9' prompt-toolkit==3.0.47; python_full_version >= '3.7.0' psycopg2==2.9.9; python_version >= '3.7' pyarrow==17.0.0; python_version >= '3.8' -pycparser==2.22; python_version >= '3.8' pydantic==2.8.2; python_version >= '3.8' pydantic-core==2.20.1; python_version >= '3.8' -pynacl==1.5.0 pytz==2024.1 redis==5.0.7; python_version >= '3.7' -securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' +securesystemslib[crypto,pynacl]==1.1.0; python_version ~= '3.8' setuptools==71.1.0; python_version >= '3.8' sqlalchemy==2.0.31; python_version >= '3.7' supervisor==4.2.5 -tuf==4.0.0; python_version >= '3.8' +tuf==5.0.0; python_version >= '3.8' tzdata==2024.1; python_version >= '2' vine==5.1.0; python_version >= '3.6' watchdog==4.0.1; python_version >= '3.8' diff --git a/requirements.txt b/requirements.txt index 24e38ba7..5da725e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,18 +4,16 @@ amqp==5.2.0; python_version >= '3.6' annotated-types==0.7.0; python_version >= '3.8' awswrangler==3.9.0; python_version >= '3.8' and python_version < '4.0' billiard==4.2.0; python_version >= '3.7' -boto3==1.34.148; python_version >= '3.8' -botocore==1.34.148; python_version >= '3.8' +boto3==1.34.149; python_version >= '3.8' +botocore==1.34.149; python_version >= '3.8' celery==5.4.0; python_version >= '3.8' certifi==2024.7.4; python_version >= '3.6' -cffi==1.16.0; platform_python_implementation != 'PyPy' charset-normalizer==3.3.2; python_full_version >= '3.7.0' click==8.1.7; python_version >= '3.7' click-didyoumean==0.3.1; python_full_version >= '3.6.2' click-plugins==1.1.1 click-repl==0.3.0; python_version >= '3.6' configobj==5.0.8 -cryptography==43.0.0 dynaconf[ini]==3.2.6; python_version >= '3.8' idna==3.7; python_version >= '3.5' jmespath==1.0.1; python_version >= '3.7' @@ -28,21 +26,19 @@ pandas==2.2.2; python_version >= '3.9' prompt-toolkit==3.0.47; python_full_version >= '3.7.0' psycopg2==2.9.9; python_version >= '3.7' pyarrow==17.0.0; python_version >= '3.8' -pycparser==2.22; python_version >= '3.8' pydantic==2.8.2; python_version >= '3.8' pydantic-core==2.20.1; python_version >= '3.8' -pynacl==1.5.0 python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' pytz==2024.1 redis==5.0.7; python_version >= '3.7' requests==2.32.3; python_version >= '3.8' s3transfer==0.10.2; python_version >= '3.8' -securesystemslib[crypto,pynacl]==0.31.0; python_version ~= '3.8' +securesystemslib[crypto,pynacl]==1.1.0; python_version ~= '3.8' setuptools==71.1.0; python_version >= '3.8' six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' sqlalchemy==2.0.31; python_version >= '3.7' supervisor==4.2.5 -tuf==4.0.0; python_version >= '3.8' +tuf==5.0.0; python_version >= '3.8' typing-extensions==4.12.2; python_version >= '3.8' tzdata==2024.1; python_version >= '2' urllib3==2.2.2; python_version >= '3.10'