diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0d127ed5..3a93d2b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,7 @@ jobs: VERSION_FILE="nova/core/galaxy.yml" VERSION=$(cat $VERSION_FILE | grep "version:" | cut -d " " -f 2) + CURRENT_TAG=$(git tag --sort=-creatordate | head -n 1) TAG_NAME="v$VERSION" echo "LATEST_TAG=$TAG_NAME" >> $GITHUB_ENV @@ -33,7 +34,7 @@ jobs: git push origin $TAG_NAME # Creating temp changelog file - git log --pretty=format:"- %s" $(git describe --tags --abbrev=0 HEAD^^)..HEAD > CHANGELOG.md + git log $CURRENT_TAG..$TAG_NAME --pretty=format:"- %s" > CHANGELOG.md - name: Releasing a new version... uses: ncipollo/release-action@v1 diff --git a/nova/core/galaxy.yml b/nova/core/galaxy.yml index 7b0abaeb..571630e1 100644 --- a/nova/core/galaxy.yml +++ b/nova/core/galaxy.yml @@ -8,7 +8,7 @@ namespace: nova name: core # The version of the collection. Must be compatible with semantic versioning -version: 3.1.7 +version: 3.1.17 # The path to the Markdown (.md) readme file. This path is relative to the root of the collection readme: README.md diff --git a/nova/core/plugins/inventory/providentia_v3.py b/nova/core/plugins/inventory/providentia_v3.py index 70110be7..0cd05c2e 100644 --- a/nova/core/plugins/inventory/providentia_v3.py +++ b/nova/core/plugins/inventory/providentia_v3.py @@ -30,11 +30,6 @@ description: SSO client id for Providentia. type: string default: "Providentia" - credentials_lookup_env: - description: ENV var used to lookup Providentia credentials KeePass path - type: string - default: KEEPASS_DEPLOYER_CREDENTIALS_PATH - required: False """ import os, json, socket, aiohttp, asyncio @@ -95,12 +90,9 @@ def init_inventory(self): self.inventory.set_variable("all", "providentia_api_version", 3) async def store_access_token(self): - keepass_creds = os.environ.get(self.get_option('credentials_lookup_env'),"").strip() - sso_creds = self.fetch_creds(keepass_creds) - - self._access_token = self.fetch_access_token(sso_creds) + self._access_token = self.fetch_access_token(self.fetch_creds()) - def fetch_creds(self, creds_path): + def fetch_creds(self): # Feature to allow project specific deployer credentials from Ansible vault project_deployer_username = self._options.get(self.project + '_deployer_username') @@ -117,31 +109,6 @@ def fetch_creds(self, creds_path): 'password': project_deployer_password } - # Feature to get deployer credentials from KeePass - elif 'KEEPASS_DEPLOYER_CREDENTIALS_PATH' in os.environ and os.environ['KEEPASS_DEPLOYER_CREDENTIALS_PATH'].strip() != "": - - kp_soc = "/tmp/ansible-keepass.sock" - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - sock.connect(kp_soc) - - username = {'attr': "username", 'path': creds_path} - sock.send(json.dumps(username).encode()) - username = json.loads(sock.recv(1024).decode()) - - password = {'attr': "password", 'path': creds_path} - sock.send(json.dumps(password).encode()) - password = json.loads(sock.recv(1024).decode()) - - sock.close() - - if(username['status']=='error' or password['status']=='error'): - raise AnsibleParserError('Error retrieving credentials from KeePass') - - return { - 'username': username['text'], - 'password': password['text'] - } - # Feature to get deployer credentials from Ansible vault else: diff --git a/nova/core/requirements/poetry.lock b/nova/core/requirements/poetry.lock index a4e17d97..0d7250ad 100644 --- a/nova/core/requirements/poetry.lock +++ b/nova/core/requirements/poetry.lock @@ -128,13 +128,13 @@ frozenlist = ">=1.1.0" [[package]] name = "ansible-compat" -version = "24.6.1" +version = "24.7.0" description = "Ansible compatibility goodies" optional = false python-versions = ">=3.9" files = [ - {file = "ansible_compat-24.6.1-py3-none-any.whl", hash = "sha256:1e1695454ea759b24beab7dfbeac18964553edca4a4ad0584567aa3eef491f0e"}, - {file = "ansible_compat-24.6.1.tar.gz", hash = "sha256:f93d4c347d8e1903c292449441c09a987d70366f9cadf9afe5e32dc8a0193cac"}, + {file = "ansible_compat-24.7.0-py3-none-any.whl", hash = "sha256:9f18ed1104e3affc716a95720bdd7e0c01bb1ecb0c316335fd23c31ade6e4582"}, + {file = "ansible_compat-24.7.0.tar.gz", hash = "sha256:7bc7a0c20a505a1eb6ff9877071fe20330130429087da298e25099a14f70d02f"}, ] [package.dependencies] @@ -150,13 +150,13 @@ test = ["coverage", "pip-tools", "pytest (>=7.2.0)", "pytest-mock", "pytest-plus [[package]] name = "ansible-core" -version = "2.17.0" +version = "2.17.2" description = "Radically simple IT automation" optional = false python-versions = ">=3.10" files = [ - {file = "ansible_core-2.17.0-py3-none-any.whl", hash = "sha256:a5de008985cd51eb01599cf1a14d3b45f917095ac6cdab867b0d11c3f922c343"}, - {file = "ansible_core-2.17.0.tar.gz", hash = "sha256:bd16e30ecac405dac594de3e1b1b4d9cc6fa1a9f7a01a6a8d4c471b20660716d"}, + {file = "ansible_core-2.17.2-py3-none-any.whl", hash = "sha256:d51af721c35c00308d5786878497a346ccdd764302cb793f3b6b8d60038f9a6c"}, + {file = "ansible_core-2.17.2.tar.gz", hash = "sha256:3dfa15249069ea0d001257902c968ddf9bb71d965769b8802bce85187556c5d8"}, ] [package.dependencies] @@ -298,13 +298,13 @@ files = [ [[package]] name = "ansible-specdoc" -version = "0.0.14" +version = "0.0.15" description = "A simple tool for generating Ansible collection documentation from module spec." optional = false python-versions = ">=3" files = [ - {file = "ansible-specdoc-0.0.14.tar.gz", hash = "sha256:dc6494015de56efd1c3435a6b300836b0a14b922a55699ece47ef759a82f4ec5"}, - {file = "ansible_specdoc-0.0.14-py3-none-any.whl", hash = "sha256:6b787d9d8d8a2a902dfc55ab49f135b8ee0e54afe14ef7c8e77a2728696b01e3"}, + {file = "ansible_specdoc-0.0.15-py3-none-any.whl", hash = "sha256:5c947cd26d3b18dcc3b1d008ff76f63e836c2c514a8671c9301353e52d0691e8"}, + {file = "ansible_specdoc-0.0.15.tar.gz", hash = "sha256:2a4fa31287fb98a0d644d88ccb7b16c97ab997f911f64b1a1ae10f53f59530ec"}, ] [package.dependencies] @@ -389,13 +389,13 @@ tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "p [[package]] name = "azure-cli-core" -version = "2.61.0" +version = "2.62.0" description = "Microsoft Azure Command-Line Tools Core Module" optional = false python-versions = ">=3.8.0" files = [ - {file = "azure_cli_core-2.61.0-py3-none-any.whl", hash = "sha256:a6e9fb1eb8dc56e5cde46a810de5cbe62c9bb015a1a7eb37e1143a8bcfe90ae7"}, - {file = "azure_cli_core-2.61.0.tar.gz", hash = "sha256:faf3b771a46fec387783acacf95f44964d6a798119a45e5e2250cce5f9fc088a"}, + {file = "azure_cli_core-2.62.0-py3-none-any.whl", hash = "sha256:f734927df3597e222cc63121e5c8ff82eb408f38ad90cbbf48d91a5c5ffd4f9c"}, + {file = "azure_cli_core-2.62.0.tar.gz", hash = "sha256:203dde70989ebfbb82c368a37d096f10adcf56873384652c83f3160728c03b71"}, ] [package.dependencies] @@ -407,7 +407,7 @@ distro = {version = "*", markers = "sys_platform == \"linux\""} humanfriendly = ">=10.0,<11.0" jmespath = "*" knack = ">=0.11.0,<0.12.0" -msal = {version = "1.28.0", extras = ["broker"]} +msal = {version = "1.28.1", extras = ["broker"]} msal-extensions = "1.2.0b1" msrestazure = ">=0.6.4,<0.7.0" packaging = ">=20.9" @@ -1329,17 +1329,17 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "boto3" -version = "1.34.140" +version = "1.34.144" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.34.140-py3-none-any.whl", hash = "sha256:23ca8d8f7a30c3bbd989808056b5fc5d68ff5121c02c722c6167b6b1bb7f8726"}, - {file = "boto3-1.34.140.tar.gz", hash = "sha256:578bbd5e356005719b6b610d03edff7ea1b0824d078afe62d3fb8bea72f83a87"}, + {file = "boto3-1.34.144-py3-none-any.whl", hash = "sha256:b8433d481d50b68a0162c0379c0dd4aabfc3d1ad901800beb5b87815997511c1"}, + {file = "boto3-1.34.144.tar.gz", hash = "sha256:2f3e88b10b8fcc5f6100a9d74cd28230edc9d4fa226d99dd40a3ab38ac213673"}, ] [package.dependencies] -botocore = ">=1.34.140,<1.35.0" +botocore = ">=1.34.144,<1.35.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -1348,13 +1348,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.34.140" +version = "1.34.144" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.34.140-py3-none-any.whl", hash = "sha256:43940d3a67d946ba3301631ba4078476a75f1015d4fb0fb0272d0b754b2cf9de"}, - {file = "botocore-1.34.140.tar.gz", hash = "sha256:86302b2226c743b9eec7915a4c6cfaffd338ae03989cd9ee181078ef39d1ab39"}, + {file = "botocore-1.34.144-py3-none-any.whl", hash = "sha256:a2cf26e1bf10d5917a2285e50257bc44e94a1d16574f282f3274f7a5d8d1f08b"}, + {file = "botocore-1.34.144.tar.gz", hash = "sha256:4215db28d25309d59c99507f1f77df9089e5bebbad35f6e19c7c44ec5383a3e8"}, ] [package.dependencies] @@ -1989,13 +1989,13 @@ files = [ [[package]] name = "jsonschema" -version = "4.22.0" +version = "4.23.0" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.22.0-py3-none-any.whl", hash = "sha256:ff4cfd6b1367a40e7bc6411caec72effadd3db0bbe5017de188f2d6108335802"}, - {file = "jsonschema-4.22.0.tar.gz", hash = "sha256:5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7"}, + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, ] [package.dependencies] @@ -2006,7 +2006,7 @@ rpds-py = ">=0.7.1" [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] [[package]] name = "jsonschema-specifications" @@ -2043,16 +2043,17 @@ tabulate = "*" [[package]] name = "linode-api4" -version = "5.17.0" +version = "5.18.0" description = "The official Python SDK for Linode API v4" optional = false python-versions = ">=3.8" files = [ - {file = "linode_api4-5.17.0-py3-none-any.whl", hash = "sha256:24b1590d7ecd18c8c96608e2ed1ac0b53229dc6f74f68413a16ce8a1d9b8c9cd"}, - {file = "linode_api4-5.17.0.tar.gz", hash = "sha256:e7b674a3c9e6a8fdad9f7ce9184ea95a774b03360a47f13a5aca8660b218ae0d"}, + {file = "linode_api4-5.18.0-py3-none-any.whl", hash = "sha256:06975c363aac81089ae4fd838a765be734e3f1d0f432b36fe007bb2ab28cf983"}, + {file = "linode_api4-5.18.0.tar.gz", hash = "sha256:52b5b387b850f0bfdd74d3d794c7f4b33c0ed760cf5ab6c50a581816560888c7"}, ] [package.dependencies] +deprecated = "*" polling = "*" requests = "*" @@ -2359,13 +2360,13 @@ opentelemetry-sdk = ">=1.20.0" [[package]] name = "microsoft-kiota-http" -version = "1.3.1" +version = "1.3.2" description = "Kiota http request adapter implementation for httpx library" optional = false python-versions = "*" files = [ - {file = "microsoft_kiota_http-1.3.1-py2.py3-none-any.whl", hash = "sha256:d62972c6ed4c785f9808a15479a7421abb38a9519b39e6933e5d05555b9fb427"}, - {file = "microsoft_kiota_http-1.3.1.tar.gz", hash = "sha256:09d85310379f88af0a0967925d1fcbe82f2520a9fe6fa1fd50e79af813bc451d"}, + {file = "microsoft_kiota_http-1.3.2-py2.py3-none-any.whl", hash = "sha256:24c6a48a2207cadb5225dc4db243849a3d49ad0fdd044231807995cc385e49e5"}, + {file = "microsoft_kiota_http-1.3.2.tar.gz", hash = "sha256:56c075c6788955bece8c80c4d480419873dfee9585220616d6e316b8286d4e20"}, ] [package.dependencies] @@ -2435,23 +2436,23 @@ python-dateutil = ">=2.8.2" [[package]] name = "msal" -version = "1.28.0" +version = "1.28.1" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" files = [ - {file = "msal-1.28.0-py3-none-any.whl", hash = "sha256:3064f80221a21cd535ad8c3fafbb3a3582cd9c7e9af0bb789ae14f726a0ca99b"}, - {file = "msal-1.28.0.tar.gz", hash = "sha256:80bbabe34567cb734efd2ec1869b2d98195c927455369d8077b3c542088c5c9d"}, + {file = "msal-1.28.1-py3-none-any.whl", hash = "sha256:563c2d70de77a2ca9786aab84cb4e133a38a6897e6676774edc23d610bfc9e7b"}, + {file = "msal-1.28.1.tar.gz", hash = "sha256:d72bbfe2d5c2f2555f4bc6205be4450ddfd12976610dd9a16a9ab0f05c68b64d"}, ] [package.dependencies] -cryptography = ">=0.6,<45" +cryptography = ">=2.5,<45" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} -pymsalruntime = {version = ">=0.13.2,<0.15", optional = true, markers = "python_version >= \"3.6\" and platform_system == \"Windows\" and extra == \"broker\""} +pymsalruntime = {version = ">=0.13.2,<0.17", optional = true, markers = "python_version >= \"3.6\" and platform_system == \"Windows\" and extra == \"broker\""} requests = ">=2.0.0,<3" [package.extras] -broker = ["pymsalruntime (>=0.13.2,<0.15)"] +broker = ["pymsalruntime (>=0.13.2,<0.17)"] [[package]] name = "msal-extensions" @@ -2470,13 +2471,13 @@ portalocker = ">=1.4,<3" [[package]] name = "msgraph-core" -version = "1.1.0" +version = "1.1.2" description = "Core component of the Microsoft Graph Python SDK" optional = false python-versions = ">=3.8" files = [ - {file = "msgraph_core-1.1.0-py3-none-any.whl", hash = "sha256:38eed85a7a9d661ba961df7eab436be8d59df23c6f141582e0d969f73363671d"}, - {file = "msgraph_core-1.1.0.tar.gz", hash = "sha256:65d6932b7d6a52a65410ce8f482f7c7e5cf75ec93bc905b1b47d4358ef54f894"}, + {file = "msgraph_core-1.1.2-py3-none-any.whl", hash = "sha256:ed0695275d66914994a6ff71e7d71736ee4c4db3548a1021b2dd3a9605247def"}, + {file = "msgraph_core-1.1.2.tar.gz", hash = "sha256:c533cad1a23980487a4aa229dc5d9b00975fc6590e157e9f51046c6e80349288"}, ] [package.dependencies] @@ -2490,13 +2491,13 @@ dev = ["bumpver", "isort", "mypy", "pylint", "pytest", "yapf"] [[package]] name = "msgraph-sdk" -version = "1.4.0" +version = "1.5.2" description = "The Microsoft Graph Python SDK" optional = false python-versions = ">=3.8" files = [ - {file = "msgraph_sdk-1.4.0-py3-none-any.whl", hash = "sha256:24f99082475ea129c3d45e44269bd64a7c6bfef8dda4f8ea692bbc9e47b71b78"}, - {file = "msgraph_sdk-1.4.0.tar.gz", hash = "sha256:715907272c240e579d7669a690504488e25ae15fec904e2918c49ca328dc4a14"}, + {file = "msgraph_sdk-1.5.2-py3-none-any.whl", hash = "sha256:e3ee67dbbb5b2233aae291996cb846c0d32017f085a23476ab98198aa513a0dd"}, + {file = "msgraph_sdk-1.5.2.tar.gz", hash = "sha256:62f2b1e7f8e9438a5a30b1e1761b8c4cbc4dc026a54088c381861aab6f266f92"}, ] [package.dependencies] @@ -2508,7 +2509,7 @@ microsoft-kiota-serialization-form = ">=0.1.0" microsoft-kiota-serialization-json = ">=1.0.0,<2.0.0" microsoft-kiota-serialization-multipart = ">=0.1.0" microsoft-kiota-serialization-text = ">=1.0.0,<2.0.0" -msgraph-core = ">=1.0.0" +msgraph_core = ">=1.0.0" [package.extras] dev = ["bumpver", "isort", "mypy", "pylint", "pytest", "yapf"] @@ -2990,13 +2991,13 @@ files = [ [[package]] name = "portalocker" -version = "2.10.0" +version = "2.10.1" description = "Wraps the portalocker recipe for easy usage" optional = false python-versions = ">=3.8" files = [ - {file = "portalocker-2.10.0-py3-none-any.whl", hash = "sha256:48944147b2cd42520549bc1bb8fe44e220296e56f7c3d551bc6ecce69d9b0de1"}, - {file = "portalocker-2.10.0.tar.gz", hash = "sha256:49de8bc0a2f68ca98bf9e219c81a3e6b27097c7bf505a87c5a112ce1aaeb9b81"}, + {file = "portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf"}, + {file = "portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f"}, ] [package.dependencies] @@ -3009,13 +3010,13 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p [[package]] name = "prettytable" -version = "3.10.0" +version = "3.10.2" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" optional = false python-versions = ">=3.8" files = [ - {file = "prettytable-3.10.0-py3-none-any.whl", hash = "sha256:6536efaf0757fdaa7d22e78b3aac3b69ea1b7200538c2c6995d649365bddab92"}, - {file = "prettytable-3.10.0.tar.gz", hash = "sha256:9665594d137fb08a1117518c25551e0ede1687197cf353a4fdc78d27e1073568"}, + {file = "prettytable-3.10.2-py3-none-any.whl", hash = "sha256:1cbfdeb4bcc73976a778a0fb33cb6d752e75396f16574dcb3e2d6332fd93c76a"}, + {file = "prettytable-3.10.2.tar.gz", hash = "sha256:29ec6c34260191d42cd4928c28d56adec360ac2b1208a26c7e4f14b90cc8bc84"}, ] [package.dependencies] @@ -3180,40 +3181,37 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] [[package]] name = "pymsalruntime" -version = "0.14.2" +version = "0.16.2" description = "The MSALRuntime Python Interop Package" optional = false python-versions = ">=3.6" files = [ - {file = "pymsalruntime-0.14.2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:fa70558897096d68005281ea39fbd8fe502a81c4d0a0816e44036c75924937ec"}, - {file = "pymsalruntime-0.14.2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:e6b1f3f823ceb72e0c66aedc683c3205cdfc128ee9ded1ee950d2f3a6567529c"}, - {file = "pymsalruntime-0.14.2-cp310-cp310-win32.whl", hash = "sha256:949e1b4f8a17581babc2ebf76d014a9770833bd431c2cbd74adef68f3aeb63e8"}, - {file = "pymsalruntime-0.14.2-cp310-cp310-win_amd64.whl", hash = "sha256:045310bd2c5e8b16ae4cc1b013f37049187a441a5cd0e30eb4e0470c2532f4ee"}, - {file = "pymsalruntime-0.14.2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:ecdf89058bcddb101ab4158cf2c98b593bccf675df44d81dc277049de6284fc4"}, - {file = "pymsalruntime-0.14.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:41a7ddc5cf0f6577b1427d607ad9ea6d5f00f2ec3aaf1e04eab7fb3ef3fbdc5a"}, - {file = "pymsalruntime-0.14.2-cp311-cp311-win32.whl", hash = "sha256:671860d2c19898dfcf01eadd95c4dd64a52b2d54b83a715c96ba499ccf21ac75"}, - {file = "pymsalruntime-0.14.2-cp311-cp311-win_amd64.whl", hash = "sha256:a3bae29f96297a0b194089b94422a9debb213fdf4408f7006e69fb887669db4b"}, - {file = "pymsalruntime-0.14.2-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:2bbbc991b3aede15cb68094acc5787bdcc1039a1a9ee9f0c1392f60ecbcf6a30"}, - {file = "pymsalruntime-0.14.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:4d8c4e6d6ef8a587a29f1d1024b1a7222ffcdd7b08ec8a66cb6e954a668f2f48"}, - {file = "pymsalruntime-0.14.2-cp312-cp312-win32.whl", hash = "sha256:e515afdd87d64b0c1438187da26ef6bbd93fda49e80ad20d8f4932eae29ccff8"}, - {file = "pymsalruntime-0.14.2-cp312-cp312-win_amd64.whl", hash = "sha256:555a475f7f005448babc257f39e8f1f5bd7552a1e0d760cd433576bf531208e0"}, - {file = "pymsalruntime-0.14.2-cp36-cp36m-macosx_13_0_arm64.whl", hash = "sha256:fceaa63edc518aa147c5fee81a877b18381c16fe3d63b3b65696549ebe628e60"}, - {file = "pymsalruntime-0.14.2-cp36-cp36m-macosx_13_0_x86_64.whl", hash = "sha256:bf7ebc9e86652eaa2afa2313933c19741b49223f6070a9ae9a7b6089ac04e107"}, - {file = "pymsalruntime-0.14.2-cp36-cp36m-win32.whl", hash = "sha256:3016b43218da9ff29c870410f31a97057d6268d5a967314fd6464b28b927fabf"}, - {file = "pymsalruntime-0.14.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a69ba3d6e88b5098dacb3617d050aed7f768f2e0e72af1812fe61184f6d802b2"}, - {file = "pymsalruntime-0.14.2-cp37-cp37m-macosx_13_0_arm64.whl", hash = "sha256:994c1f9764173847c19852fc0c6ebe28ff28d7f3dae9ec4d6fe41741dbbe9c00"}, - {file = "pymsalruntime-0.14.2-cp37-cp37m-macosx_13_0_x86_64.whl", hash = "sha256:923da73e55fe0b3ca5c7db6a2441fdc64556b442df54e89a4bae2401a5679dc0"}, - {file = "pymsalruntime-0.14.2-cp37-cp37m-win32.whl", hash = "sha256:7b89aea69c8730f61e19d739a6f55fa8cc14118a90734992032cc2f6ee660a32"}, - {file = "pymsalruntime-0.14.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3e8fbfd0cd2a7e3364c945f8c1ebdc925c1a86636d712645a85eba26ac3ae03f"}, - {file = "pymsalruntime-0.14.2-cp38-cp38-macosx_13_0_arm64.whl", hash = "sha256:53aded9c2c6a7992fdf733cbeeabffc8f6df896702638a00efb1e7b83fc03a6b"}, - {file = "pymsalruntime-0.14.2-cp38-cp38-macosx_13_0_x86_64.whl", hash = "sha256:5c09e59cbcac559d347a22883a34b3093a3ebc31aadafa6815afb34a28c751b4"}, - {file = "pymsalruntime-0.14.2-cp38-cp38-win32.whl", hash = "sha256:2d2022bf9c656af1a27f1e8a231acef74c0cb8f7dd5d4c294ce4a55af798d822"}, - {file = "pymsalruntime-0.14.2-cp38-cp38-win_amd64.whl", hash = "sha256:161dc2288b51d7ef5d1a5a716b092c907b33a43d8cbca68d2a594f139eb7ab83"}, - {file = "pymsalruntime-0.14.2-cp39-cp39-macosx_13_0_arm64.whl", hash = "sha256:9e7fdd4a5838d29612dd44cb13eb502e7384f730c0e2eb67f6d505b3a13730dd"}, - {file = "pymsalruntime-0.14.2-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:b9771f86d33d867487c4e1db4b015dc2297406aece0ce1e5e282c059b4f88164"}, - {file = "pymsalruntime-0.14.2-cp39-cp39-win32.whl", hash = "sha256:82cd6c5deb84dbc6b3e3e18fac7e6c9ba5d548673da2e0e7e1ff2efbf484b45d"}, - {file = "pymsalruntime-0.14.2-cp39-cp39-win_amd64.whl", hash = "sha256:62cd066c95e768cff033a9f783d320074d26ea7761dc22747ad5cf644e4dd0cf"}, - {file = "pymsalruntime-0.14.2.tar.gz", hash = "sha256:fca3e8a60ed0e59ddf72ff3cdb8fb8e70a5e95f6977d1f1d8bb5b4e4dab07524"}, + {file = "pymsalruntime-0.16.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:18b51582315b7723c54d99e196058d3ffe63c1e7021adad39f592322afa5d6ef"}, + {file = "pymsalruntime-0.16.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:6741215e88feb056ff1c6128776137e286aab72d4df6d0832b30603f141576ce"}, + {file = "pymsalruntime-0.16.2-cp310-cp310-win32.whl", hash = "sha256:9484d618258be2d973da21933ef48e2fbcd860d8bb150e357705ee8f25060d7a"}, + {file = "pymsalruntime-0.16.2-cp310-cp310-win_amd64.whl", hash = "sha256:acaa7e9857b086befbe9c4c502d663305066e6572b59f7202127816cd2e10be3"}, + {file = "pymsalruntime-0.16.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:c6ab58a1f16c6d6213a996b6edd549c85c8dbb548574dcf8dd74b4d5d7244057"}, + {file = "pymsalruntime-0.16.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:4e5868333ec8f510e28b7b5998a6374102005027b7850579aa661386d82f9678"}, + {file = "pymsalruntime-0.16.2-cp311-cp311-win32.whl", hash = "sha256:8a22c5e0c5c6d18fdd590ec863c4920803dbaeb78ac23e5e8034131faabe4f5e"}, + {file = "pymsalruntime-0.16.2-cp311-cp311-win_amd64.whl", hash = "sha256:9070f13525912fc19f8f07bfa422bf0b4870c619b0e61d1b31dc8eb4ee5dadd8"}, + {file = "pymsalruntime-0.16.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:751708bc18cb8823223bdaca08a7294759ee6cac262fd14c6606f52e06f00cc2"}, + {file = "pymsalruntime-0.16.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:788897a2a27b3b309e29b4346118310875528f9d8cc8f23a2c08c4bfc10d0c30"}, + {file = "pymsalruntime-0.16.2-cp312-cp312-win32.whl", hash = "sha256:687216bcb6294fd3e34d019c3d49f91169fd286a054944fc53f59311aa092927"}, + {file = "pymsalruntime-0.16.2-cp312-cp312-win_amd64.whl", hash = "sha256:4d8faa34318ca7d1877bbd85f9ba75198bda5ad48b5cf43fc40e5cb25b7c6821"}, + {file = "pymsalruntime-0.16.2-cp36-cp36m-macosx_14_0_arm64.whl", hash = "sha256:5e67e7b509c642a12b1877233576f9567aa6c9ebedb6e1970ed6c178c101b6b9"}, + {file = "pymsalruntime-0.16.2-cp36-cp36m-macosx_14_0_x86_64.whl", hash = "sha256:5edf2b06becd2df97de147191ffa65074804c2b8f2613b773c2a949a48a275f8"}, + {file = "pymsalruntime-0.16.2-cp37-cp37m-macosx_14_0_arm64.whl", hash = "sha256:07a32e3e5eb9fa913e96c7a54e73858f1dc4d63b4e82645888347af656bface9"}, + {file = "pymsalruntime-0.16.2-cp37-cp37m-macosx_14_0_x86_64.whl", hash = "sha256:510ed8c05bc99a51234fff417e920d26ef5a6e43acd0adb2dc8594102c2bb8ea"}, + {file = "pymsalruntime-0.16.2-cp37-cp37m-win32.whl", hash = "sha256:2e2b61d547f18262539b90e5e22462699b5e28ac35454bff419fd4d50e488a29"}, + {file = "pymsalruntime-0.16.2-cp37-cp37m-win_amd64.whl", hash = "sha256:c904beada27ccf17918c8f8581f7d5b225d5850249e27b8359e6c14fb0cf48de"}, + {file = "pymsalruntime-0.16.2-cp38-cp38-macosx_14_0_arm64.whl", hash = "sha256:e561599077874d24ead3fe29fd1a0baf13b66fd7adfd5801c52b4d21fef2305c"}, + {file = "pymsalruntime-0.16.2-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:7a2c436542515a1382d92976fc241ec8e6f705f22e6f6568c7051e84947f9711"}, + {file = "pymsalruntime-0.16.2-cp38-cp38-win32.whl", hash = "sha256:cd57ce12341af55d688a7753eb686e593efa4754af647a1805e941c18227148b"}, + {file = "pymsalruntime-0.16.2-cp38-cp38-win_amd64.whl", hash = "sha256:b58e3d41a49ab87e45e9e8a326af9d08d440fa0c284f6fe9445b8c0c588e6c13"}, + {file = "pymsalruntime-0.16.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:ad297bf2c4a409c82427e32b299f3a74757ed3514d8fc051e5c35399db3b6e67"}, + {file = "pymsalruntime-0.16.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:6c1ce399c663c63ce6dd33ca246061e4bd58a460aa02b13ff40d21bcc350210e"}, + {file = "pymsalruntime-0.16.2-cp39-cp39-win32.whl", hash = "sha256:fbe911ffe3b018a283291ab5effc161e08932314ecd8d848a16365146b4fb815"}, + {file = "pymsalruntime-0.16.2-cp39-cp39-win_amd64.whl", hash = "sha256:06db5ee216bda4e5b747326eed0983cea53c52c2e29e8f8c506a5a3aeb9d7259"}, ] [[package]] @@ -3595,110 +3593,110 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.18.1" +version = "0.19.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.18.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d31dea506d718693b6b2cffc0648a8929bdc51c70a311b2770f09611caa10d53"}, - {file = "rpds_py-0.18.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:732672fbc449bab754e0b15356c077cc31566df874964d4801ab14f71951ea80"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a98a1f0552b5f227a3d6422dbd61bc6f30db170939bd87ed14f3c339aa6c7c9"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f1944ce16401aad1e3f7d312247b3d5de7981f634dc9dfe90da72b87d37887d"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38e14fb4e370885c4ecd734f093a2225ee52dc384b86fa55fe3f74638b2cfb09"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08d74b184f9ab6289b87b19fe6a6d1a97fbfea84b8a3e745e87a5de3029bf944"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d70129cef4a8d979caa37e7fe957202e7eee8ea02c5e16455bc9808a59c6b2f0"}, - {file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0bb20e3a11bd04461324a6a798af34d503f8d6f1aa3d2aa8901ceaf039176d"}, - {file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81c5196a790032e0fc2464c0b4ab95f8610f96f1f2fa3d4deacce6a79852da60"}, - {file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f3027be483868c99b4985fda802a57a67fdf30c5d9a50338d9db646d590198da"}, - {file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d44607f98caa2961bab4fa3c4309724b185b464cdc3ba6f3d7340bac3ec97cc1"}, - {file = "rpds_py-0.18.1-cp310-none-win32.whl", hash = "sha256:c273e795e7a0f1fddd46e1e3cb8be15634c29ae8ff31c196debb620e1edb9333"}, - {file = "rpds_py-0.18.1-cp310-none-win_amd64.whl", hash = "sha256:8352f48d511de5f973e4f2f9412736d7dea76c69faa6d36bcf885b50c758ab9a"}, - {file = "rpds_py-0.18.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6b5ff7e1d63a8281654b5e2896d7f08799378e594f09cf3674e832ecaf396ce8"}, - {file = "rpds_py-0.18.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8927638a4d4137a289e41d0fd631551e89fa346d6dbcfc31ad627557d03ceb6d"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:154bf5c93d79558b44e5b50cc354aa0459e518e83677791e6adb0b039b7aa6a7"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:07f2139741e5deb2c5154a7b9629bc5aa48c766b643c1a6750d16f865a82c5fc"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c7672e9fba7425f79019db9945b16e308ed8bc89348c23d955c8c0540da0a07"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:489bdfe1abd0406eba6b3bb4fdc87c7fa40f1031de073d0cfb744634cc8fa261"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c20f05e8e3d4fc76875fc9cb8cf24b90a63f5a1b4c5b9273f0e8225e169b100"}, - {file = "rpds_py-0.18.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:967342e045564cef76dfcf1edb700b1e20838d83b1aa02ab313e6a497cf923b8"}, - {file = "rpds_py-0.18.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2cc7c1a47f3a63282ab0f422d90ddac4aa3034e39fc66a559ab93041e6505da7"}, - {file = "rpds_py-0.18.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f7afbfee1157e0f9376c00bb232e80a60e59ed716e3211a80cb8506550671e6e"}, - {file = "rpds_py-0.18.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9e6934d70dc50f9f8ea47081ceafdec09245fd9f6032669c3b45705dea096b88"}, - {file = "rpds_py-0.18.1-cp311-none-win32.whl", hash = "sha256:c69882964516dc143083d3795cb508e806b09fc3800fd0d4cddc1df6c36e76bb"}, - {file = "rpds_py-0.18.1-cp311-none-win_amd64.whl", hash = "sha256:70a838f7754483bcdc830444952fd89645569e7452e3226de4a613a4c1793fb2"}, - {file = "rpds_py-0.18.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:3dd3cd86e1db5aadd334e011eba4e29d37a104b403e8ca24dcd6703c68ca55b3"}, - {file = "rpds_py-0.18.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:05f3d615099bd9b13ecf2fc9cf2d839ad3f20239c678f461c753e93755d629ee"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35b2b771b13eee8729a5049c976197ff58a27a3829c018a04341bcf1ae409b2b"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ee17cd26b97d537af8f33635ef38be873073d516fd425e80559f4585a7b90c43"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b646bf655b135ccf4522ed43d6902af37d3f5dbcf0da66c769a2b3938b9d8184"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19ba472b9606c36716062c023afa2484d1e4220548751bda14f725a7de17b4f6"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e30ac5e329098903262dc5bdd7e2086e0256aa762cc8b744f9e7bf2a427d3f8"}, - {file = "rpds_py-0.18.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d58ad6317d188c43750cb76e9deacf6051d0f884d87dc6518e0280438648a9ac"}, - {file = "rpds_py-0.18.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e1735502458621921cee039c47318cb90b51d532c2766593be6207eec53e5c4c"}, - {file = "rpds_py-0.18.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f5bab211605d91db0e2995a17b5c6ee5edec1270e46223e513eaa20da20076ac"}, - {file = "rpds_py-0.18.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2fc24a329a717f9e2448f8cd1f960f9dac4e45b6224d60734edeb67499bab03a"}, - {file = "rpds_py-0.18.1-cp312-none-win32.whl", hash = "sha256:1805d5901779662d599d0e2e4159d8a82c0b05faa86ef9222bf974572286b2b6"}, - {file = "rpds_py-0.18.1-cp312-none-win_amd64.whl", hash = "sha256:720edcb916df872d80f80a1cc5ea9058300b97721efda8651efcd938a9c70a72"}, - {file = "rpds_py-0.18.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:c827576e2fa017a081346dce87d532a5310241648eb3700af9a571a6e9fc7e74"}, - {file = "rpds_py-0.18.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:aa3679e751408d75a0b4d8d26d6647b6d9326f5e35c00a7ccd82b78ef64f65f8"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0abeee75434e2ee2d142d650d1e54ac1f8b01e6e6abdde8ffd6eeac6e9c38e20"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed402d6153c5d519a0faf1bb69898e97fb31613b49da27a84a13935ea9164dfc"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:338dee44b0cef8b70fd2ef54b4e09bb1b97fc6c3a58fea5db6cc083fd9fc2724"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7750569d9526199c5b97e5a9f8d96a13300950d910cf04a861d96f4273d5b104"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:607345bd5912aacc0c5a63d45a1f73fef29e697884f7e861094e443187c02be5"}, - {file = "rpds_py-0.18.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:207c82978115baa1fd8d706d720b4a4d2b0913df1c78c85ba73fe6c5804505f0"}, - {file = "rpds_py-0.18.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6d1e42d2735d437e7e80bab4d78eb2e459af48c0a46e686ea35f690b93db792d"}, - {file = "rpds_py-0.18.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:5463c47c08630007dc0fe99fb480ea4f34a89712410592380425a9b4e1611d8e"}, - {file = "rpds_py-0.18.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:06d218939e1bf2ca50e6b0ec700ffe755e5216a8230ab3e87c059ebb4ea06afc"}, - {file = "rpds_py-0.18.1-cp38-none-win32.whl", hash = "sha256:312fe69b4fe1ffbe76520a7676b1e5ac06ddf7826d764cc10265c3b53f96dbe9"}, - {file = "rpds_py-0.18.1-cp38-none-win_amd64.whl", hash = "sha256:9437ca26784120a279f3137ee080b0e717012c42921eb07861b412340f85bae2"}, - {file = "rpds_py-0.18.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:19e515b78c3fc1039dd7da0a33c28c3154458f947f4dc198d3c72db2b6b5dc93"}, - {file = "rpds_py-0.18.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7b28c5b066bca9a4eb4e2f2663012debe680f097979d880657f00e1c30875a0"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:673fdbbf668dd958eff750e500495ef3f611e2ecc209464f661bc82e9838991e"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d960de62227635d2e61068f42a6cb6aae91a7fe00fca0e3aeed17667c8a34611"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:352a88dc7892f1da66b6027af06a2e7e5d53fe05924cc2cfc56495b586a10b72"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4e0ee01ad8260184db21468a6e1c37afa0529acc12c3a697ee498d3c2c4dcaf3"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4c39ad2f512b4041343ea3c7894339e4ca7839ac38ca83d68a832fc8b3748ab"}, - {file = "rpds_py-0.18.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aaa71ee43a703c321906813bb252f69524f02aa05bf4eec85f0c41d5d62d0f4c"}, - {file = "rpds_py-0.18.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6cd8098517c64a85e790657e7b1e509b9fe07487fd358e19431cb120f7d96338"}, - {file = "rpds_py-0.18.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:4adec039b8e2928983f885c53b7cc4cda8965b62b6596501a0308d2703f8af1b"}, - {file = "rpds_py-0.18.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:32b7daaa3e9389db3695964ce8e566e3413b0c43e3394c05e4b243a4cd7bef26"}, - {file = "rpds_py-0.18.1-cp39-none-win32.whl", hash = "sha256:2625f03b105328729f9450c8badda34d5243231eef6535f80064d57035738360"}, - {file = "rpds_py-0.18.1-cp39-none-win_amd64.whl", hash = "sha256:bf18932d0003c8c4d51a39f244231986ab23ee057d235a12b2684ea26a353590"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cbfbea39ba64f5e53ae2915de36f130588bba71245b418060ec3330ebf85678e"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a3d456ff2a6a4d2adcdf3c1c960a36f4fd2fec6e3b4902a42a384d17cf4e7a65"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7700936ef9d006b7ef605dc53aa364da2de5a3aa65516a1f3ce73bf82ecfc7ae"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:51584acc5916212e1bf45edd17f3a6b05fe0cbb40482d25e619f824dccb679de"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:942695a206a58d2575033ff1e42b12b2aece98d6003c6bc739fbf33d1773b12f"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b906b5f58892813e5ba5c6056d6a5ad08f358ba49f046d910ad992196ea61397"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6f8e3fecca256fefc91bb6765a693d96692459d7d4c644660a9fff32e517843"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7732770412bab81c5a9f6d20aeb60ae943a9b36dcd990d876a773526468e7163"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:bd1105b50ede37461c1d51b9698c4f4be6e13e69a908ab7751e3807985fc0346"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:618916f5535784960f3ecf8111581f4ad31d347c3de66d02e728de460a46303c"}, - {file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:17c6d2155e2423f7e79e3bb18151c686d40db42d8645e7977442170c360194d4"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c4c4c3f878df21faf5fac86eda32671c27889e13570645a9eea0a1abdd50922"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:fab6ce90574645a0d6c58890e9bcaac8d94dff54fb51c69e5522a7358b80ab64"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:531796fb842b53f2695e94dc338929e9f9dbf473b64710c28af5a160b2a8927d"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:740884bc62a5e2bbb31e584f5d23b32320fd75d79f916f15a788d527a5e83644"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:998125738de0158f088aef3cb264a34251908dd2e5d9966774fdab7402edfab7"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e2be6e9dd4111d5b31ba3b74d17da54a8319d8168890fbaea4b9e5c3de630ae5"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0cee71bc618cd93716f3c1bf56653740d2d13ddbd47673efa8bf41435a60daa"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2c3caec4ec5cd1d18e5dd6ae5194d24ed12785212a90b37f5f7f06b8bedd7139"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:27bba383e8c5231cd559affe169ca0b96ec78d39909ffd817f28b166d7ddd4d8"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:a888e8bdb45916234b99da2d859566f1e8a1d2275a801bb8e4a9644e3c7e7909"}, - {file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6031b25fb1b06327b43d841f33842b383beba399884f8228a6bb3df3088485ff"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48c2faaa8adfacefcbfdb5f2e2e7bdad081e5ace8d182e5f4ade971f128e6bb3"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d85164315bd68c0806768dc6bb0429c6f95c354f87485ee3593c4f6b14def2bd"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6afd80f6c79893cfc0574956f78a0add8c76e3696f2d6a15bca2c66c415cf2d4"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa242ac1ff583e4ec7771141606aafc92b361cd90a05c30d93e343a0c2d82a89"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21be4770ff4e08698e1e8e0bce06edb6ea0626e7c8f560bc08222880aca6a6f"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c45a639e93a0c5d4b788b2613bd637468edd62f8f95ebc6fcc303d58ab3f0a8"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910e71711d1055b2768181efa0a17537b2622afeb0424116619817007f8a2b10"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b9bb1f182a97880f6078283b3505a707057c42bf55d8fca604f70dedfdc0772a"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d54f74f40b1f7aaa595a02ff42ef38ca654b1469bef7d52867da474243cc633"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:8d2e182c9ee01135e11e9676e9a62dfad791a7a467738f06726872374a83db49"}, - {file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:636a15acc588f70fda1661234761f9ed9ad79ebed3f2125d44be0862708b666e"}, - {file = "rpds_py-0.18.1.tar.gz", hash = "sha256:dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f"}, + {file = "rpds_py-0.19.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:fb37bd599f031f1a6fb9e58ec62864ccf3ad549cf14bac527dbfa97123edcca4"}, + {file = "rpds_py-0.19.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3384d278df99ec2c6acf701d067147320b864ef6727405d6470838476e44d9e8"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e54548e0be3ac117595408fd4ca0ac9278fde89829b0b518be92863b17ff67a2"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8eb488ef928cdbc05a27245e52de73c0d7c72a34240ef4d9893fdf65a8c1a955"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5da93debdfe27b2bfc69eefb592e1831d957b9535e0943a0ee8b97996de21b5"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79e205c70afddd41f6ee79a8656aec738492a550247a7af697d5bd1aee14f766"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:959179efb3e4a27610e8d54d667c02a9feaa86bbabaf63efa7faa4dfa780d4f1"}, + {file = "rpds_py-0.19.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a6e605bb9edcf010f54f8b6a590dd23a4b40a8cb141255eec2a03db249bc915b"}, + {file = "rpds_py-0.19.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9133d75dc119a61d1a0ded38fb9ba40a00ef41697cc07adb6ae098c875195a3f"}, + {file = "rpds_py-0.19.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd36b712d35e757e28bf2f40a71e8f8a2d43c8b026d881aa0c617b450d6865c9"}, + {file = "rpds_py-0.19.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:354f3a91718489912f2e0fc331c24eaaf6a4565c080e00fbedb6015857c00582"}, + {file = "rpds_py-0.19.0-cp310-none-win32.whl", hash = "sha256:ebcbf356bf5c51afc3290e491d3722b26aaf5b6af3c1c7f6a1b757828a46e336"}, + {file = "rpds_py-0.19.0-cp310-none-win_amd64.whl", hash = "sha256:75a6076289b2df6c8ecb9d13ff79ae0cad1d5fb40af377a5021016d58cd691ec"}, + {file = "rpds_py-0.19.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6d45080095e585f8c5097897313def60caa2046da202cdb17a01f147fb263b81"}, + {file = "rpds_py-0.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5c9581019c96f865483d031691a5ff1cc455feb4d84fc6920a5ffc48a794d8a"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1540d807364c84516417115c38f0119dfec5ea5c0dd9a25332dea60b1d26fc4d"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e65489222b410f79711dc3d2d5003d2757e30874096b2008d50329ea4d0f88c"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9da6f400eeb8c36f72ef6646ea530d6d175a4f77ff2ed8dfd6352842274c1d8b"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37f46bb11858717e0efa7893c0f7055c43b44c103e40e69442db5061cb26ed34"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:071d4adc734de562bd11d43bd134330fb6249769b2f66b9310dab7460f4bf714"}, + {file = "rpds_py-0.19.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9625367c8955e4319049113ea4f8fee0c6c1145192d57946c6ffcd8fe8bf48dd"}, + {file = "rpds_py-0.19.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e19509145275d46bc4d1e16af0b57a12d227c8253655a46bbd5ec317e941279d"}, + {file = "rpds_py-0.19.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d438e4c020d8c39961deaf58f6913b1bf8832d9b6f62ec35bd93e97807e9cbc"}, + {file = "rpds_py-0.19.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:90bf55d9d139e5d127193170f38c584ed3c79e16638890d2e36f23aa1630b952"}, + {file = "rpds_py-0.19.0-cp311-none-win32.whl", hash = "sha256:8d6ad132b1bc13d05ffe5b85e7a01a3998bf3a6302ba594b28d61b8c2cf13aaf"}, + {file = "rpds_py-0.19.0-cp311-none-win_amd64.whl", hash = "sha256:7ec72df7354e6b7f6eb2a17fa6901350018c3a9ad78e48d7b2b54d0412539a67"}, + {file = "rpds_py-0.19.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:5095a7c838a8647c32aa37c3a460d2c48debff7fc26e1136aee60100a8cd8f68"}, + {file = "rpds_py-0.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f2f78ef14077e08856e788fa482107aa602636c16c25bdf59c22ea525a785e9"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7cc6cb44f8636fbf4a934ca72f3e786ba3c9f9ba4f4d74611e7da80684e48d2"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cf902878b4af334a09de7a45badbff0389e7cf8dc2e4dcf5f07125d0b7c2656d"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:688aa6b8aa724db1596514751ffb767766e02e5c4a87486ab36b8e1ebc1aedac"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57dbc9167d48e355e2569346b5aa4077f29bf86389c924df25c0a8b9124461fb"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b4cf5a9497874822341c2ebe0d5850fed392034caadc0bad134ab6822c0925b"}, + {file = "rpds_py-0.19.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8a790d235b9d39c70a466200d506bb33a98e2ee374a9b4eec7a8ac64c2c261fa"}, + {file = "rpds_py-0.19.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1d16089dfa58719c98a1c06f2daceba6d8e3fb9b5d7931af4a990a3c486241cb"}, + {file = "rpds_py-0.19.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bc9128e74fe94650367fe23f37074f121b9f796cabbd2f928f13e9661837296d"}, + {file = "rpds_py-0.19.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c8f77e661ffd96ff104bebf7d0f3255b02aa5d5b28326f5408d6284c4a8b3248"}, + {file = "rpds_py-0.19.0-cp312-none-win32.whl", hash = "sha256:5f83689a38e76969327e9b682be5521d87a0c9e5a2e187d2bc6be4765f0d4600"}, + {file = "rpds_py-0.19.0-cp312-none-win_amd64.whl", hash = "sha256:06925c50f86da0596b9c3c64c3837b2481337b83ef3519e5db2701df695453a4"}, + {file = "rpds_py-0.19.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:52e466bea6f8f3a44b1234570244b1cff45150f59a4acae3fcc5fd700c2993ca"}, + {file = "rpds_py-0.19.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e21cc693045fda7f745c790cb687958161ce172ffe3c5719ca1764e752237d16"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b31f059878eb1f5da8b2fd82480cc18bed8dcd7fb8fe68370e2e6285fa86da6"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dd46f309e953927dd018567d6a9e2fb84783963650171f6c5fe7e5c41fd5666"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34a01a4490e170376cd79258b7f755fa13b1a6c3667e872c8e35051ae857a92b"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bcf426a8c38eb57f7bf28932e68425ba86def6e756a5b8cb4731d8e62e4e0223"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68eea5df6347d3f1378ce992d86b2af16ad7ff4dcb4a19ccdc23dea901b87fb"}, + {file = "rpds_py-0.19.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dab8d921b55a28287733263c0e4c7db11b3ee22aee158a4de09f13c93283c62d"}, + {file = "rpds_py-0.19.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6fe87efd7f47266dfc42fe76dae89060038f1d9cb911f89ae7e5084148d1cc08"}, + {file = "rpds_py-0.19.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:535d4b52524a961d220875688159277f0e9eeeda0ac45e766092bfb54437543f"}, + {file = "rpds_py-0.19.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:8b1a94b8afc154fbe36978a511a1f155f9bd97664e4f1f7a374d72e180ceb0ae"}, + {file = "rpds_py-0.19.0-cp38-none-win32.whl", hash = "sha256:7c98298a15d6b90c8f6e3caa6457f4f022423caa5fa1a1ca7a5e9e512bdb77a4"}, + {file = "rpds_py-0.19.0-cp38-none-win_amd64.whl", hash = "sha256:b0da31853ab6e58a11db3205729133ce0df26e6804e93079dee095be3d681dc1"}, + {file = "rpds_py-0.19.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:5039e3cef7b3e7a060de468a4a60a60a1f31786da94c6cb054e7a3c75906111c"}, + {file = "rpds_py-0.19.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab1932ca6cb8c7499a4d87cb21ccc0d3326f172cfb6a64021a889b591bb3045c"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2afd2164a1e85226fcb6a1da77a5c8896c18bfe08e82e8ceced5181c42d2179"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b1c30841f5040de47a0046c243fc1b44ddc87d1b12435a43b8edff7e7cb1e0d0"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f757f359f30ec7dcebca662a6bd46d1098f8b9fb1fcd661a9e13f2e8ce343ba1"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15e65395a59d2e0e96caf8ee5389ffb4604e980479c32742936ddd7ade914b22"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb0f6eb3a320f24b94d177e62f4074ff438f2ad9d27e75a46221904ef21a7b05"}, + {file = "rpds_py-0.19.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b228e693a2559888790936e20f5f88b6e9f8162c681830eda303bad7517b4d5a"}, + {file = "rpds_py-0.19.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2575efaa5d949c9f4e2cdbe7d805d02122c16065bfb8d95c129372d65a291a0b"}, + {file = "rpds_py-0.19.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:5c872814b77a4e84afa293a1bee08c14daed1068b2bb1cc312edbf020bbbca2b"}, + {file = "rpds_py-0.19.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:850720e1b383df199b8433a20e02b25b72f0fded28bc03c5bd79e2ce7ef050be"}, + {file = "rpds_py-0.19.0-cp39-none-win32.whl", hash = "sha256:ce84a7efa5af9f54c0aa7692c45861c1667080814286cacb9958c07fc50294fb"}, + {file = "rpds_py-0.19.0-cp39-none-win_amd64.whl", hash = "sha256:1c26da90b8d06227d7769f34915913911222d24ce08c0ab2d60b354e2d9c7aff"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:75969cf900d7be665ccb1622a9aba225cf386bbc9c3bcfeeab9f62b5048f4a07"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8445f23f13339da640d1be8e44e5baf4af97e396882ebbf1692aecd67f67c479"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5a7c1062ef8aea3eda149f08120f10795835fc1c8bc6ad948fb9652a113ca55"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:462b0c18fbb48fdbf980914a02ee38c423a25fcc4cf40f66bacc95a2d2d73bc8"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3208f9aea18991ac7f2b39721e947bbd752a1abbe79ad90d9b6a84a74d44409b"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3444fe52b82f122d8a99bf66777aed6b858d392b12f4c317da19f8234db4533"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88cb4bac7185a9f0168d38c01d7a00addece9822a52870eee26b8d5b61409213"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6b130bd4163c93798a6b9bb96be64a7c43e1cec81126ffa7ffaa106e1fc5cef5"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:a707b158b4410aefb6b054715545bbb21aaa5d5d0080217290131c49c2124a6e"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dc9ac4659456bde7c567107556ab065801622396b435a3ff213daef27b495388"}, + {file = "rpds_py-0.19.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:81ea573aa46d3b6b3d890cd3c0ad82105985e6058a4baed03cf92518081eec8c"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3f148c3f47f7f29a79c38cc5d020edcb5ca780020fab94dbc21f9af95c463581"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0906357f90784a66e89ae3eadc2654f36c580a7d65cf63e6a616e4aec3a81be"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f629ecc2db6a4736b5ba95a8347b0089240d69ad14ac364f557d52ad68cf94b0"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c6feacd1d178c30e5bc37184526e56740342fd2aa6371a28367bad7908d454fc"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae8b6068ee374fdfab63689be0963333aa83b0815ead5d8648389a8ded593378"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78d57546bad81e0da13263e4c9ce30e96dcbe720dbff5ada08d2600a3502e526"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b6683a37338818646af718c9ca2a07f89787551057fae57c4ec0446dc6224b"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e8481b946792415adc07410420d6fc65a352b45d347b78fec45d8f8f0d7496f0"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:bec35eb20792ea64c3c57891bc3ca0bedb2884fbac2c8249d9b731447ecde4fa"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:aa5476c3e3a402c37779e95f7b4048db2cb5b0ed0b9d006983965e93f40fe05a"}, + {file = "rpds_py-0.19.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:19d02c45f2507b489fd4df7b827940f1420480b3e2e471e952af4d44a1ea8e34"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a3e2fd14c5d49ee1da322672375963f19f32b3d5953f0615b175ff7b9d38daed"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:93a91c2640645303e874eada51f4f33351b84b351a689d470f8108d0e0694210"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5b9fc03bf76a94065299d4a2ecd8dfbae4ae8e2e8098bbfa6ab6413ca267709"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a4b07cdf3f84310c08c1de2c12ddadbb7a77568bcb16e95489f9c81074322ed"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba0ed0dc6763d8bd6e5de5cf0d746d28e706a10b615ea382ac0ab17bb7388633"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:474bc83233abdcf2124ed3f66230a1c8435896046caa4b0b5ab6013c640803cc"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:329c719d31362355a96b435f4653e3b4b061fcc9eba9f91dd40804ca637d914e"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef9101f3f7b59043a34f1dccbb385ca760467590951952d6701df0da9893ca0c"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:0121803b0f424ee2109d6e1f27db45b166ebaa4b32ff47d6aa225642636cd834"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:8344127403dea42f5970adccf6c5957a71a47f522171fafaf4c6ddb41b61703a"}, + {file = "rpds_py-0.19.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:443cec402ddd650bb2b885113e1dcedb22b1175c6be223b14246a714b61cd521"}, + {file = "rpds_py-0.19.0.tar.gz", hash = "sha256:4fdc9afadbeb393b4bbbad75481e0ea78e4469f2e1d713a90811700830b553a9"}, ] [[package]] @@ -3926,13 +3924,13 @@ widechars = ["wcwidth"] [[package]] name = "tomlkit" -version = "0.12.5" +version = "0.13.0" description = "Style preserving TOML library" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomlkit-0.12.5-py3-none-any.whl", hash = "sha256:af914f5a9c59ed9d0762c7b64d3b5d5df007448eb9cd2edc8a46b1eafead172f"}, - {file = "tomlkit-0.12.5.tar.gz", hash = "sha256:eef34fba39834d4d6b73c9ba7f3e4d1c417a4e56f89a7e96e090dd0d24b8fb3c"}, + {file = "tomlkit-0.13.0-py3-none-any.whl", hash = "sha256:7075d3042d03b80f603482d69bf0c8f345c2b30e41699fd8883227f89972b264"}, + {file = "tomlkit-0.13.0.tar.gz", hash = "sha256:08ad192699734149f5b97b45f1f18dad7eb1b6d16bc72ad0c2335772650d7b72"}, ] [[package]] @@ -4248,4 +4246,4 @@ test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", [metadata] lock-version = "2.0" python-versions = "3.11.9" -content-hash = "0375c66e4f9ae16f86d9f411f254b5ad102e6adfc2722bff91c5ce302525cba3" +content-hash = "39098330e638edead1518cde33a80282be0acb114ae08566718643c790bc51d1" diff --git a/nova/core/requirements/pyproject.toml b/nova/core/requirements/pyproject.toml index a5c3c3db..63b70c44 100644 --- a/nova/core/requirements/pyproject.toml +++ b/nova/core/requirements/pyproject.toml @@ -6,7 +6,7 @@ authors = ["CCDCOE "] [tool.poetry.dependencies] aiohttp = "*" -ansible-core = "2.17.0" +ansible-core = "2.17.2" ansible-lint = "*" ansible-pylibssh = "*" ansible-specdoc = "*" diff --git a/nova/core/requirements/requirements.yml b/nova/core/requirements/requirements.yml index 4e9c85d7..440c0272 100644 --- a/nova/core/requirements/requirements.yml +++ b/nova/core/requirements/requirements.yml @@ -14,18 +14,19 @@ roles: version: 3.5.0 collections: - - name: amazon.aws - version: 8.0.0 + - name: https://github.com/ClarifiedSecurity/amazon.aws.git # A temporary fork of the official collection to remove the annoying deprecation warnings + type: git + version: 8.1.0 - name: ansible.netcommon version: 7.0.0 - name: ansible.posix - version: 1.5.2 + version: 1.5.4 - name: ansible.utils version: 5.0.0 - name: ansible.windows version: 2.4.0 - name: azure.azcollection - version: 2.4.0 + version: 2.6.0 - name: chocolatey.chocolatey version: 1.5.1 - name: cisco.ios @@ -35,11 +36,11 @@ collections: - name: community.aws version: 8.0.0 - name: community.crypto - version: 2.20.0 + version: 2.21.1 - name: community.docker - version: 3.10.3 + version: 3.11.0 - name: community.general - version: 9.0.1 + version: 9.2.0 - name: community.hashi_vault version: 6.2.0 - name: community.library_inventory_filtering_v1 # Required for community.docker @@ -51,7 +52,7 @@ collections: - name: community.postgresql version: 3.4.1 - name: community.routeros - version: 2.15.0 + version: 2.17.0 - name: community.vmware version: 4.4.0 - name: community.windows @@ -61,7 +62,7 @@ collections: - name: kubernetes.core version: 2.4.0 - name: linode.cloud - version: 0.26.0 + version: 0.29.0 - name: microsoft.ad version: 1.5.0 - name: microsoft.sql @@ -72,7 +73,7 @@ collections: type: git version: 3.0.1 - name: vyos.vyos - version: 4.1.0 - - name: https://github.com/vmware/ansible-for-nsxt.git + version: 5.0.0 + - name: https://github.com/ClarifiedSecurity/ansible-for-nsxt.git # A temporary fork of the official collection until https://github.com/vmware/ansible-for-nsxt/pull/509 is merged type: git - version: HEAD + version: latest diff --git a/nova/core/roles/caddy/README.md b/nova/core/roles/caddy/README.md index 564d2035..0ecc4dc8 100644 --- a/nova/core/roles/caddy/README.md +++ b/nova/core/roles/caddy/README.md @@ -8,6 +8,8 @@ none ## Role Variables +Refer to the [defaults/main.yml](https://github.com/novateams/nova.core/blob/main/nova/core/roles/caddy/defaults/main.yml) file for a list and description of the variables used in this role. + ## Dependencies - Depends on Docker and Docker Compose being installed on the host. Docker can be installed using the [nova.core.docker](https://github.com/novateams/nova.core/tree/main/nova/core/roles/caddy) role. diff --git a/nova/core/roles/deploy_vars/defaults/main.yml b/nova/core/roles/deploy_vars/defaults/main.yml index a4e2e499..4827486c 100644 --- a/nova/core/roles/deploy_vars/defaults/main.yml +++ b/nova/core/roles/deploy_vars/defaults/main.yml @@ -4,7 +4,7 @@ ################### # These are defined here because it's the first role loaded and these defaults will then be used for subsequent roles -# It's better to define different lookups (vault, keepass etc.) in this role because then they'll be loaded only once +# It's better to define different lookups (vault,etc.) in this role because then they'll be loaded only once template: false # Set to yes to include the template role in start.yml customization_context: host # Default value, Providentia also can give out type: container diff --git a/nova/core/roles/gitlab/defaults/main.yml b/nova/core/roles/gitlab/defaults/main.yml index f4999bfa..fe78eec1 100644 --- a/nova/core/roles/gitlab/defaults/main.yml +++ b/nova/core/roles/gitlab/defaults/main.yml @@ -48,6 +48,12 @@ gitlab_ldap_user_dn: CN=gitlab.service,OU=Service Accounts,DC=example,DC=com gitlab_ldap_domain_groups_ou: OU=Gitlab,OU=Groups,DC=example,DC=com gitlab_ldap_verify_certificates: true +## gitlab internal nginx +gitlab_nginx_real_ip_trusted_addresses: + - 172.18.0.0/16 + - fd42::/64 +gitlab_nginx_real_ip_header: X-Real-IP + ### supporting defaults gitlab_docker_network: local-network gitlab_container_name: gitlab diff --git a/nova/core/roles/gitlab/templates/gitlab.rb b/nova/core/roles/gitlab/templates/gitlab.rb index 87fde6ec..1b2a9ab8 100644 --- a/nova/core/roles/gitlab/templates/gitlab.rb +++ b/nova/core/roles/gitlab/templates/gitlab.rb @@ -29,10 +29,9 @@ nginx['redirect_http_to_https'] = false nginx['hsts_max_age'] = 0 nginx['proxy_protocol'] = false -# nginx['real_ip_trusted_addresses'] = [ '127.0.0.1/8', '0.0.0.0/0', '::1', '::/0' ] -# nginx['real_ip_trusted_addresses'] = [ '172.0.0.0/8','10.42.0.0/16', '10.17.0.0/16', '10.18.0.0/16', 'fd42::/64', 'fd69::/64' ] -nginx['real_ip_header'] = 'X-Forwarded-For' +nginx['real_ip_trusted_addresses'] = {{ gitlab_nginx_real_ip_trusted_addresses }} +nginx['real_ip_header'] = '{{ gitlab_nginx_real_ip_header }}' nginx['real_ip_recursive'] = 'on' ### gitlab smtp https://docs.gitlab.com/omnibus/settings/smtp.html diff --git a/nova/core/roles/machine_operations/defaults/main.yml b/nova/core/roles/machine_operations/defaults/main.yml index 0a54de6f..0fcf11a4 100644 --- a/nova/core/roles/machine_operations/defaults/main.yml +++ b/nova/core/roles/machine_operations/defaults/main.yml @@ -89,6 +89,8 @@ vmwarews_custom_params: [] # AWS defaults # ################ +aws_access_key: {} # Can be defined in your Ansible Vault + # Temporary ssh key path on your container temp_ssh_key_path: /tmp/{{ project_fullname | default('') }}_{{ inventory_hostname }}_aws_key @@ -135,6 +137,8 @@ aws_security_group_rules: # Linode defaults # ################### +linode_api_token: {} # Can be defined in your Ansible Vault + # The default root password for Linode VM machine_operations_linode_vm_password: "{{ lookup('community.hashi_vault.hashi_vault', vault_lookup_fragment + 'secret=' + secrets_vault_engine_path + '/data/' + secrets_vault_secrets_path + ':' + inventory_hostname + '_' + admin_account) }}" rebuild: false # Use ctp-rebuild alias to rebuild the VM with different size but keeping the data diff --git a/nova/core/roles/machine_operations/tasks/aws/main.yml b/nova/core/roles/machine_operations/tasks/aws/main.yml index 4c679d69..8669a5b0 100644 --- a/nova/core/roles/machine_operations/tasks/aws/main.yml +++ b/nova/core/roles/machine_operations/tasks/aws/main.yml @@ -1,16 +1,10 @@ --- -- name: Checking for AWS API key... - when: aws_access_key is not defined or aws_access_key in [none, ''] - block: - - name: MISSING AWS API KEY - ansible.builtin.debug: - msg: | - KEEPASS_AWS_ACCESS_KEY not defined in .makerc-vars. - or - aws_access_key_id and aws_access_key are not set in Ansible Vault. - - - name: Stopping play... - ansible.builtin.meta: end_host +- name: Missing required variables... + ansible.builtin.fail: + msg: | + Following variables are required to run this role: + - aws_access_key + when: aws_access_key == {} - name: Including {{ custom_vm_name | default(vm_name) }} removal tasks... ansible.builtin.include_tasks: remove.yml diff --git a/nova/core/roles/machine_operations/tasks/linode/main.yml b/nova/core/roles/machine_operations/tasks/linode/main.yml index 068a6f3d..fada6411 100644 --- a/nova/core/roles/machine_operations/tasks/linode/main.yml +++ b/nova/core/roles/machine_operations/tasks/linode/main.yml @@ -1,16 +1,10 @@ --- -- name: Checking for Linode API token... - when: linode_api_token is not defined or linode_api_token in [none, ''] - block: - - name: MISSING LINODE API TOKEN - ansible.builtin.debug: - msg: | - KEEPASS_LINODE_API_TOKEN not defined in .makerc-vars. - or - linode_api_token is not set in Ansible Vault. - - - name: Stopping play... - ansible.builtin.meta: end_host +- name: Missing required variables... + ansible.builtin.fail: + msg: | + Following variables are required to run this role: + - linode_api_token + when: linode_api_token == {} - name: Including {{ custom_vm_name | default(vm_name) }} rebuild tasks... ansible.builtin.include_tasks: rebuild.yml diff --git a/nova/core/roles/nexus/tasks/configure.yml b/nova/core/roles/nexus/tasks/configure.yml index 5b842179..dae07ff3 100644 --- a/nova/core/roles/nexus/tasks/configure.yml +++ b/nova/core/roles/nexus/tasks/configure.yml @@ -38,6 +38,7 @@ - name: Increasing HTTP timeout to 10 minutes... # Required for large file/slow connection upload/download ansible.builtin.lineinfile: path: "{{ nexus_container_config_folder }}/data/etc/nexus.properties" + regexp: "^jetty.http.timeout=" line: jetty.http.timeout=600000 notify: Restarting Nexus container... diff --git a/nova/core/roles/providentia/defaults/main.yml b/nova/core/roles/providentia/defaults/main.yml index 83abf880..183f3d1d 100644 --- a/nova/core/roles/providentia/defaults/main.yml +++ b/nova/core/roles/providentia/defaults/main.yml @@ -26,7 +26,7 @@ providentia_builtin_reverse_proxy_tls_pregenerated_key: # path to TLS key on hos # app config providentia_app_fqdn: "{{ fqdn }}" # fqdn for deployed instance -providentia_deploy_branch: main # gitref used for deployment, can be overriden to deploy other tags or branches +providentia_deploy_branch: main # gitref used for deployment, can be overridden to deploy other tags or branches providentia_redis_url: redis://redis:6379/0 # URL for app redis, defaults to builtin providentia_db_url: postgres://providentia:{{ providentia_builtin_database_db_password }}@postgresql/providentia?pool=5 # full database URL used by the app, defaults to builtin postgres providentia_sentry_dsn: # Sentry exception tracking endpoint diff --git a/nova/core/roles/role_metadata_post/README.md b/nova/core/roles/role_metadata_post/README.md new file mode 100644 index 00000000..3ae6e547 --- /dev/null +++ b/nova/core/roles/role_metadata_post/README.md @@ -0,0 +1,31 @@ +# role_metadata_post + +This is a role for gathering posting role specific metadata to Providentia or custom metadata server at the end of the deploy. The metadata itself can be gathered with the `nova.core.role_metadata_generate` role. + +## Requirements + +none + +## Role Variables + +Required variables are: + +- `role_metadata_post_keycloak_uri` - The URI of the Keycloak server used for Providentia authentication. +- `role_metadata_post_providentia_uri` - The URI of the Providentia server. +- `role_metadata_post_keycloak_realm_name` - The name of the Keycloak realm used for Providentia authentication. + +Refer to the [defaults/main.yml](https://github.com/novateams/nova.core/blob/main/nova/core/roles/role_metadata_generate/defaults/main.yml) file for a list and description of the variables used in this role. + +## Dependencies + +none + +## Example + +```yaml +# all.yml or some other group_vars file +generate_role_metadata: true # Generates role metadata where applicable and posts it to Providentia in nova.core.finalize role +role_metadata_post_providentia_uri: https://providentia.example.com +role_metadata_post_keycloak_uri: https://keycloak.example.com +role_metadata_post_keycloak_realm_name: master +``` diff --git a/nova/core/roles/role_metadata_post/defaults/main.yml b/nova/core/roles/role_metadata_post/defaults/main.yml index 41bd46b3..067a8ed3 100644 --- a/nova/core/roles/role_metadata_post/defaults/main.yml +++ b/nova/core/roles/role_metadata_post/defaults/main.yml @@ -1,4 +1,8 @@ --- role_metadata_post_clear_existing: false # Set to true to clear existing metadata before uploading new metadata. -role_metadata_post_endpoint: providentia # Options: providentia, custom. In case of custom, provide the path to the custom task to include. role_metadata_post_custom_task_path: none # Path to the custom task to include when posting metadata to non-providentia endpoint. +role_metadata_post_endpoint: providentia # Options: providentia, custom. In case of custom, provide the path to the custom task to include. +role_metadata_post_keycloak_realm_name: {} # Keycloak realm name for authentication. +role_metadata_post_keycloak_uri_fullpath: "{{ role_metadata_post_keycloak_uri }}/realms/{{ role_metadata_post_keycloak_realm_name }}/protocol/openid-connect/token" # Can be fully overridden if older Keycloak is used. +role_metadata_post_keycloak_uri: "{{ keycloak_uri | default({}) }}" # Keycloak used for authentication to Providentia. +role_metadata_post_providentia_uri: "{{ providentia_uri | default({}) }}" # Providentia URI. diff --git a/nova/core/roles/role_metadata_post/tasks/main.yml b/nova/core/roles/role_metadata_post/tasks/main.yml index f5bcc75e..6233cbae 100644 --- a/nova/core/roles/role_metadata_post/tasks/main.yml +++ b/nova/core/roles/role_metadata_post/tasks/main.yml @@ -1,4 +1,13 @@ --- +- name: Missing required variables... + ansible.builtin.fail: + msg: | + Following variables are required to run this role: + - role_metadata_post_keycloak_realm_name + - role_metadata_post_providentia_uri + - role_metadata_post_keycloak_uri + when: role_metadata_post_keycloak_realm_name == {} or role_metadata_post_providentia_uri == {} or role_metadata_post_keycloak_uri == {} + - name: Including post role metadata to Providentia tasks... ansible.builtin.include_tasks: providentia.yml when: role_metadata_post_endpoint == "providentia" diff --git a/nova/core/roles/role_metadata_post/tasks/providentia.yml b/nova/core/roles/role_metadata_post/tasks/providentia.yml index 40000c84..c1dee1e0 100644 --- a/nova/core/roles/role_metadata_post/tasks/providentia.yml +++ b/nova/core/roles/role_metadata_post/tasks/providentia.yml @@ -5,7 +5,7 @@ block: - name: Getting Providentia authentication token... ansible.builtin.uri: - url: "{{ keycloak_uri }}/realms/Apps/protocol/openid-connect/token" + url: "{{ role_metadata_post_keycloak_uri_fullpath }}" method: POST headers: Content-Type: application/x-www-form-urlencoded @@ -20,7 +20,7 @@ - name: Clearing existing metadata for {{ inventory_hostname }}... ansible.builtin.uri: - url: "{{ providentia_uri }}/api/v3/{{ providentia_project_name | default(project_fullname) }}/hosts/{{ main_id }}/instances/{{ inventory_hostname }}" + url: "{{ role_metadata_post_providentia_uri }}/api/v3/{{ providentia_project_name | default(project_fullname) }}/hosts/{{ main_id }}/instances/{{ inventory_hostname }}" method: PUT headers: accept: application/json @@ -33,7 +33,7 @@ - name: Uploading metadata for {{ inventory_hostname }}... ansible.builtin.uri: - url: "{{ providentia_uri }}/api/v3/{{ providentia_project_name | default(project_fullname) }}/hosts/{{ main_id }}/instances/{{ inventory_hostname }}" + url: "{{ role_metadata_post_providentia_uri }}/api/v3/{{ providentia_project_name | default(project_fullname) }}/hosts/{{ main_id }}/instances/{{ inventory_hostname }}" method: PATCH headers: accept: application/json diff --git a/nova/core/roles/updates/tasks/debian_family.yml b/nova/core/roles/updates/tasks/debian_family.yml index 23a54f4f..57816ef4 100644 --- a/nova/core/roles/updates/tasks/debian_family.yml +++ b/nova/core/roles/updates/tasks/debian_family.yml @@ -34,11 +34,13 @@ - name: Enable unattended upgrades... ansible.builtin.lineinfile: - path: /etc/apt/apt.conf.d/{{ item.file }} - regexp: "{{ item.match }}" - line: "{{ item.value }}" + path: /etc/apt/apt.conf.d/{{ update_enable.file }} + regexp: "{{ update_enable.match }}" + line: "{{ update_enable.value }}" create: true mode: "0644" + loop_control: + loop_var: update_enable loop: - file: 20auto-upgrades match: .*Update-Package-Lists @@ -73,10 +75,12 @@ - name: Disabling unattended upgrades & updates... ansible.builtin.lineinfile: path: /etc/apt/apt.conf.d/20auto-upgrades - regexp: "{{ item.regexp }}" - line: "{{ item.line }}" + regexp: "{{ update_disable.regexp }}" + line: "{{ update_disable.line }}" create: true mode: "0644" + loop_control: + loop_var: update_disable loop: - regexp: .*Unattended-Upgrade line: APT::Periodic::Unattended-Upgrade "0"; diff --git a/nova/core/roles/vault/defaults/main.yml b/nova/core/roles/vault/defaults/main.yml index 4b588348..63788e3d 100644 --- a/nova/core/roles/vault/defaults/main.yml +++ b/nova/core/roles/vault/defaults/main.yml @@ -9,7 +9,7 @@ vault_configure: false # Run the initial default configuration for Vault vault_configure_ldap: false # Configuring LDAP authentication for Vault vault_configuration_uri: "https://{{ fqdn }}" # Defined separately for when configuring multiple Vaults vault_config_folder: /srv/vault -vault_version: 1.17.0 # Default Vault Docker image version +vault_version: 1.17.2 # Default Vault Docker image version vault_container_name: vault vault_server_log_level: debug # Debug gives better info about LDAP login failures and their reasons vault_validate_cert: true # Validate certificates when connecting to Vault