From 1007148129f5470e2948c794c4a6308235fe2a92 Mon Sep 17 00:00:00 2001 From: Matteo Voges <98756476+MatteoVoges@users.noreply.github.com> Date: Wed, 3 May 2023 12:01:17 +0200 Subject: [PATCH 01/32] fix: dependabot - commit message was to long --- .github/dependabot.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 029ea41a3..0b8339b49 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,11 +10,10 @@ updates: schedule: interval: "weekly" commit-message: - prefix: "PIP dependency update" + prefix: "chore: " ignore: - dependency-name: "google-api-python-client" labels: - - "pip" - "dependencies" open-pull-requests-limit: 2 reviewers: From d8b68d248ac4a6b60b2bfb343ac3bb00a3e31906 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:18:54 +0000 Subject: [PATCH 02/32] Bump pymdown-extensions from 9.8 to 10.0 Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.8 to 10.0. - [Release notes](https://github.com/facelessuser/pymdown-extensions/releases) - [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.8...10.0) --- updated-dependencies: - dependency-name: pymdown-extensions dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.docs.txt b/requirements.docs.txt index ba893d38b..15aa0a92a 100644 --- a/requirements.docs.txt +++ b/requirements.docs.txt @@ -2,4 +2,4 @@ markdown-include==0.7.0 mkdocs-material-extensions==1.1 mkdocs-material==8.5.10 mkdocs==1.4.2 -pymdown-extensions==9.8 \ No newline at end of file +pymdown-extensions==10.0 \ No newline at end of file From 0a7129ac3742e1286b0ae0f59fe5de39f2697e2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:20:36 +0000 Subject: [PATCH 03/32] Bump cryptography from 39.0.1 to 41.0.0 Bumps [cryptography](https://github.com/pyca/cryptography) from 39.0.1 to 41.0.0. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/39.0.1...41.0.0) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 64 +++++++++++++++++++++++--------------------------- pyproject.toml | 2 +- 2 files changed, 31 insertions(+), 35 deletions(-) diff --git a/poetry.lock b/poetry.lock index 5a8e6a21c..c257fab55 100644 --- a/poetry.lock +++ b/poetry.lock @@ -329,35 +329,31 @@ files = [ [[package]] name = "cryptography" -version = "39.0.1" +version = "41.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:6687ef6d0a6497e2b58e7c5b852b53f62142cfa7cd1555795758934da363a965"}, - {file = "cryptography-39.0.1-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:706843b48f9a3f9b9911979761c91541e3d90db1ca905fd63fee540a217698bc"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:5d2d8b87a490bfcd407ed9d49093793d0f75198a35e6eb1a923ce1ee86c62b41"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83e17b26de248c33f3acffb922748151d71827d6021d98c70e6c1a25ddd78505"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e124352fd3db36a9d4a21c1aa27fd5d051e621845cb87fb851c08f4f75ce8be6"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:5aa67414fcdfa22cf052e640cb5ddc461924a045cacf325cd164e65312d99502"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:35f7c7d015d474f4011e859e93e789c87d21f6f4880ebdc29896a60403328f1f"}, - {file = "cryptography-39.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f24077a3b5298a5a06a8e0536e3ea9ec60e4c7ac486755e5fb6e6ea9b3500106"}, - {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:f0c64d1bd842ca2633e74a1a28033d139368ad959872533b1bab8c80e8240a0c"}, - {file = "cryptography-39.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0f8da300b5c8af9f98111ffd512910bc792b4c77392a9523624680f7956a99d4"}, - {file = "cryptography-39.0.1-cp36-abi3-win32.whl", hash = "sha256:fe913f20024eb2cb2f323e42a64bdf2911bb9738a15dba7d3cce48151034e3a8"}, - {file = "cryptography-39.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:ced4e447ae29ca194449a3f1ce132ded8fcab06971ef5f618605aacaa612beac"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:807ce09d4434881ca3a7594733669bd834f5b2c6d5c7e36f8c00f691887042ad"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c5caeb8188c24888c90b5108a441c106f7faa4c4c075a2bcae438c6e8ca73cef"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4789d1e3e257965e960232345002262ede4d094d1a19f4d3b52e48d4d8f3b885"}, - {file = "cryptography-39.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:96f1157a7c08b5b189b16b47bc9db2332269d6680a196341bf30046330d15388"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e422abdec8b5fa8462aa016786680720d78bdce7a30c652b7fadf83a4ba35336"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:b0afd054cd42f3d213bf82c629efb1ee5f22eba35bf0eec88ea9ea7304f511a2"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:6f8ba7f0328b79f08bdacc3e4e66fb4d7aab0c3584e0bd41328dce5262e26b2e"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:ef8b72fa70b348724ff1218267e7f7375b8de4e8194d1636ee60510aae104cd0"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:aec5a6c9864be7df2240c382740fcf3b96928c46604eaa7f3091f58b878c0bb6"}, - {file = "cryptography-39.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdd188c8a6ef8769f148f88f859884507b954cc64db6b52f66ef199bb9ad660a"}, - {file = "cryptography-39.0.1.tar.gz", hash = "sha256:d1f6198ee6d9148405e49887803907fe8962a23e6c6f83ea7d98f1c0de375695"}, + {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8"}, + {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237"}, + {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4"}, + {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75"}, + {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d"}, + {file = "cryptography-41.0.0-cp37-abi3-win32.whl", hash = "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928"}, + {file = "cryptography-41.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"}, + {file = "cryptography-41.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895"}, + {file = "cryptography-41.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55"}, + {file = "cryptography-41.0.0.tar.gz", hash = "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78"}, ] [package.dependencies] @@ -366,12 +362,12 @@ cffi = ">=1.12" [package.extras] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"] -pep8test = ["black", "check-manifest", "mypy", "ruff", "types-pytz", "types-requests"] -sdist = ["setuptools-rust (>=0.11.4)"] +nox = ["nox"] +pep8test = ["black", "check-sdist", "mypy", "ruff"] +sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist", "pytz"] +test = ["pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -tox = ["tox"] [[package]] name = "docker" @@ -780,18 +776,18 @@ files = [ [[package]] name = "msal" -version = "1.21.0" +version = "1.22.0" 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." category = "main" optional = false python-versions = "*" files = [ - {file = "msal-1.21.0-py2.py3-none-any.whl", hash = "sha256:e8444617c1eccdff7bb73f5d4f94036002accea4a2c05f8f39c9efb5bd2b0c6a"}, - {file = "msal-1.21.0.tar.gz", hash = "sha256:96b5c867830fd116e5f7d0ec8ef1b238b4cda4d1aea86d8fecf518260e136fbf"}, + {file = "msal-1.22.0-py2.py3-none-any.whl", hash = "sha256:9120b7eafdf061c92f7b3d744e5f325fca35873445fa8ffebb40b1086a13dd58"}, + {file = "msal-1.22.0.tar.gz", hash = "sha256:8a82f5375642c1625c89058018430294c109440dce42ea667d466c2cab520acd"}, ] [package.dependencies] -cryptography = ">=0.6,<41" +cryptography = ">=0.6,<43" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" @@ -1430,4 +1426,4 @@ test = ["docker"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "290a88e4534ce117f650cde4054b67ea83ab345e8256c7dcd40ee3dc9b88781a" +content-hash = "705734ada27559c4ecbd058884e639fff92deaae1154b6b9ac900d2487fc24cb" diff --git a/pyproject.toml b/pyproject.toml index 9fe3ac829..07e37a725 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ python = "^3.8" addict = "^2.4.0" azure-keyvault-keys = "^4.7.0" boto3 = "^1.18.17" -cryptography = ">=3.4.7,<40.0.0" +cryptography = ">=3.4.7,<42.0.0" gitpython = "^3.1.30" google-api-python-client = "^2.15.0" hvac = "^0.11.0" From af91028dcea490f1a7a4687426b1446e50204591 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Jul 2023 13:47:24 +0000 Subject: [PATCH 04/32] Bump requests from 2.28.2 to 2.31.0 (#1011) Bumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0. - [Release notes](https://github.com/psf/requests/releases) - [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md) - [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.31.0) --- updated-dependencies: - dependency-name: requests dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Matteo Voges <98756476+MatteoVoges@users.noreply.github.com> --- poetry.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index c257fab55..d33ff334f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1202,21 +1202,21 @@ files = [ [[package]] name = "requests" -version = "2.28.2" +version = "2.31.0" description = "Python HTTP for Humans." category = "main" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.7" files = [ - {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, - {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, ] [package.dependencies] certifi = ">=2017.4.17" charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] From ecfd7dbb9bec757d1e29a82fa0a82ef09c3e1043 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Jul 2023 01:25:59 +0000 Subject: [PATCH 05/32] Bump cryptography from 41.0.0 to 41.0.2 Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.0 to 41.0.2. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.0...41.0.2) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 116 ++++++++++++---------------------------------------- 1 file changed, 26 insertions(+), 90 deletions(-) diff --git a/poetry.lock b/poetry.lock index d33ff334f..0d2a77875 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "addict" version = "2.4.0" description = "Addict is a dictionary whose items can be set using both attribute and item syntax." -category = "main" optional = false python-versions = "*" files = [ @@ -16,7 +15,6 @@ files = [ name = "attrs" version = "22.2.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -35,7 +33,6 @@ tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy name = "azure-common" version = "1.1.28" description = "Microsoft Azure Client Library for Python (Common)" -category = "main" optional = false python-versions = "*" files = [ @@ -47,7 +44,6 @@ files = [ name = "azure-core" version = "1.26.3" description = "Microsoft Azure Core Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -67,7 +63,6 @@ aio = ["aiohttp (>=3.0)"] name = "azure-identity" version = "1.12.0" description = "Microsoft Azure Identity Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -86,7 +81,6 @@ six = ">=1.12.0" name = "azure-keyvault-keys" version = "4.8.0" description = "Microsoft Azure Key Vault Keys Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -105,7 +99,6 @@ typing-extensions = ">=4.0.1" name = "boto3" version = "1.26.94" description = "The AWS SDK for Python" -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -125,7 +118,6 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] name = "botocore" version = "1.29.94" description = "Low-level, data-driven core of boto 3." -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -145,7 +137,6 @@ crt = ["awscrt (==0.16.9)"] name = "cachetools" version = "5.3.0" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -157,7 +148,6 @@ files = [ name = "certifi" version = "2022.12.7" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -169,7 +159,6 @@ files = [ name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -246,7 +235,6 @@ pycparser = "*" name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -329,31 +317,34 @@ files = [ [[package]] name = "cryptography" -version = "41.0.0" +version = "41.0.2" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:3c5ef25d060c80d6d9f7f9892e1d41bb1c79b78ce74805b8cb4aa373cb7d5ec8"}, - {file = "cryptography-41.0.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8362565b3835ceacf4dc8f3b56471a2289cf51ac80946f9087e66dc283a810e0"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3680248309d340fda9611498a5319b0193a8dbdb73586a1acf8109d06f25b92d"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84a165379cb9d411d58ed739e4af3396e544eac190805a54ba2e0322feb55c46"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab14d567f7bbe7f1cdff1c53d5324ed4d3fc8bd17c481b395db224fb405c237"}, - {file = "cryptography-41.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9f65e842cb02550fac96536edb1d17f24c0a338fd84eaf582be25926e993dde4"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:b7f2f5c525a642cecad24ee8670443ba27ac1fab81bba4cc24c7b6b41f2d0c75"}, - {file = "cryptography-41.0.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:7d92f0248d38faa411d17f4107fc0bce0c42cae0b0ba5415505df72d751bf62d"}, - {file = "cryptography-41.0.0-cp37-abi3-win32.whl", hash = "sha256:34d405ea69a8b34566ba3dfb0521379b210ea5d560fafedf9f800a9a94a41928"}, - {file = "cryptography-41.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:344c6de9f8bda3c425b3a41b319522ba3208551b70c2ae00099c205f0d9fd3be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:88ff107f211ea696455ea8d911389f6d2b276aabf3231bf72c8853d22db755c5"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b846d59a8d5a9ba87e2c3d757ca019fa576793e8758174d3868aecb88d6fc8eb"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f5d0bf9b252f30a31664b6f64432b4730bb7038339bd18b1fafe129cfc2be9be"}, - {file = "cryptography-41.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5c1f7293c31ebc72163a9a0df246f890d65f66b4a40d9ec80081969ba8c78cc9"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf8fc66012ca857d62f6a347007e166ed59c0bc150cefa49f28376ebe7d992a2"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a4fc68d1c5b951cfb72dfd54702afdbbf0fb7acdc9b7dc4301bbf2225a27714d"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:14754bcdae909d66ff24b7b5f166d69340ccc6cb15731670435efd5719294895"}, - {file = "cryptography-41.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:0ddaee209d1cf1f180f1efa338a68c4621154de0afaef92b89486f5f96047c55"}, - {file = "cryptography-41.0.0.tar.gz", hash = "sha256:6b71f64beeea341c9b4f963b48ee3b62d62d57ba93eb120e1196b31dc1025e78"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, + {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, + {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, + {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, + {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, + {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, + {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, + {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, + {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, + {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, ] [package.dependencies] @@ -373,7 +364,6 @@ test-randomorder = ["pytest-randomly"] name = "docker" version = "5.0.3" description = "A Python library for the Docker Engine API." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -394,7 +384,6 @@ tls = ["cryptography (>=3.4.7)", "idna (>=2.0.0)", "pyOpenSSL (>=17.5.0)"] name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -409,7 +398,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -424,7 +412,6 @@ gitdb = ">=4.0.1,<5" name = "gojsonnet" version = "0.17.0" description = "Python bindings for Jsonnet - The data templating language" -category = "main" optional = true python-versions = "*" files = [ @@ -435,7 +422,6 @@ files = [ name = "google-api-core" version = "2.11.0" description = "Google API client core library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -458,7 +444,6 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] name = "google-api-python-client" version = "2.81.0" description = "Google API Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -467,7 +452,7 @@ files = [ ] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" google-auth = ">=1.19.0,<3.0.0dev" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1dev" @@ -477,7 +462,6 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.16.2" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" files = [ @@ -502,7 +486,6 @@ requests = ["requests (>=2.20.0,<3.0.0dev)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" -category = "main" optional = false python-versions = "*" files = [ @@ -519,7 +502,6 @@ six = "*" name = "googleapis-common-protos" version = "1.58.0" description = "Common protobufs used in Google APIs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -537,7 +519,6 @@ grpc = ["grpcio (>=1.44.0,<2.0.0dev)"] name = "httplib2" version = "0.21.0" description = "A comprehensive HTTP client library." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -552,7 +533,6 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "hvac" version = "0.11.2" description = "HashiCorp Vault API client" -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -571,7 +551,6 @@ parser = ["pyhcl (>=0.3.10)"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -583,7 +562,6 @@ files = [ name = "importlib-metadata" version = "6.1.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -603,7 +581,6 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "5.12.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -622,7 +599,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" files = [ @@ -637,7 +613,6 @@ six = "*" name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -655,7 +630,6 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -667,7 +641,6 @@ files = [ name = "jsonnet" version = "0.18.0" description = "Python bindings for Jsonnet - The data templating language" -category = "main" optional = false python-versions = "*" files = [ @@ -678,7 +651,6 @@ files = [ name = "jsonschema" version = "4.17.3" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -700,7 +672,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "kadet" version = "0.2.2" description = "Easily define and reuse complex Python objects that serialize into JSON or YAML." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -718,7 +689,6 @@ typeguard = ">=2.12.1" name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -778,7 +748,6 @@ files = [ name = "msal" version = "1.22.0" 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." -category = "main" optional = false python-versions = "*" files = [ @@ -798,7 +767,6 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"] name = "msal-extensions" version = "1.0.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." -category = "main" optional = false python-versions = "*" files = [ @@ -817,7 +785,6 @@ portalocker = [ name = "packaging" version = "23.0" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -829,7 +796,6 @@ files = [ name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -841,7 +807,6 @@ files = [ name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -853,7 +818,6 @@ files = [ name = "portalocker" version = "2.7.0" description = "Wraps the portalocker recipe for easy usage" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -873,7 +837,6 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p name = "protobuf" version = "4.22.1" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -896,7 +859,6 @@ files = [ name = "pyasn1" version = "0.4.8" description = "ASN.1 types and codecs" -category = "main" optional = false python-versions = "*" files = [ @@ -908,7 +870,6 @@ files = [ name = "pyasn1-modules" version = "0.2.8" description = "A collection of ASN.1-based protocols modules." -category = "main" optional = false python-versions = "*" files = [ @@ -923,7 +884,6 @@ pyasn1 = ">=0.4.6,<0.5.0" name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -935,7 +895,6 @@ files = [ name = "pydantic" version = "1.10.6" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -988,7 +947,6 @@ email = ["email-validator (>=1.0.3)"] name = "pyjwt" version = "2.6.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1009,7 +967,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -1024,7 +981,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyrsistent" version = "0.19.3" description = "Persistent/Functional/Immutable data structures" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1061,7 +1017,6 @@ files = [ name = "python-box" version = "6.0.2" description = "Advanced Python dictionaries with dot notation access" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1093,7 +1048,6 @@ yaml = ["ruamel.yaml (>=0.17)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1108,7 +1062,6 @@ six = ">=1.5" name = "python-gnupg" version = "0.4.9" description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)" -category = "main" optional = false python-versions = "*" files = [ @@ -1120,7 +1073,6 @@ files = [ name = "python-magic" version = "0.4.27" description = "File type identification using libmagic" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1132,7 +1084,6 @@ files = [ name = "pywin32" version = "227" description = "Python for Window Extensions" -category = "main" optional = true python-versions = "*" files = [ @@ -1154,7 +1105,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1204,7 +1154,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1226,7 +1175,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = false python-versions = ">=3.6,<4" files = [ @@ -1241,7 +1189,6 @@ pyasn1 = ">=0.1.3" name = "s3transfer" version = "0.6.0" description = "An Amazon S3 Transfer Manager" -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -1259,7 +1206,6 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] name = "setuptools" version = "67.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1276,7 +1222,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1288,7 +1233,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1300,7 +1244,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1312,7 +1255,6 @@ files = [ name = "typeguard" version = "3.0.1" description = "Run-time type checker for Python" -category = "main" optional = false python-versions = ">=3.7.4" files = [ @@ -1332,7 +1274,6 @@ test = ["mypy (>=0.991)", "pytest (>=7)"] name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1344,7 +1285,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1356,7 +1296,6 @@ files = [ name = "urllib3" version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -1373,7 +1312,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "websocket-client" version = "1.5.1" description = "WebSocket client for Python with low level API options" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1390,7 +1328,6 @@ test = ["websockets"] name = "yamllint" version = "1.29.0" description = "A linter for YAML files." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1407,7 +1344,6 @@ setuptools = "*" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.7" files = [ From 98440bd678df85b6d59b79b0e38449b144ff8c92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jul 2023 21:13:33 +0000 Subject: [PATCH 06/32] Bump certifi from 2022.12.7 to 2023.7.22 Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.12.7 to 2023.7.22. - [Commits](https://github.com/certifi/python-certifi/compare/2022.12.07...2023.07.22) --- updated-dependencies: - dependency-name: certifi dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 78 ++++------------------------------------------------- 1 file changed, 5 insertions(+), 73 deletions(-) diff --git a/poetry.lock b/poetry.lock index d33ff334f..6c8dcf81c 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "addict" version = "2.4.0" description = "Addict is a dictionary whose items can be set using both attribute and item syntax." -category = "main" optional = false python-versions = "*" files = [ @@ -16,7 +15,6 @@ files = [ name = "attrs" version = "22.2.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -35,7 +33,6 @@ tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy name = "azure-common" version = "1.1.28" description = "Microsoft Azure Client Library for Python (Common)" -category = "main" optional = false python-versions = "*" files = [ @@ -47,7 +44,6 @@ files = [ name = "azure-core" version = "1.26.3" description = "Microsoft Azure Core Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -67,7 +63,6 @@ aio = ["aiohttp (>=3.0)"] name = "azure-identity" version = "1.12.0" description = "Microsoft Azure Identity Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -86,7 +81,6 @@ six = ">=1.12.0" name = "azure-keyvault-keys" version = "4.8.0" description = "Microsoft Azure Key Vault Keys Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -105,7 +99,6 @@ typing-extensions = ">=4.0.1" name = "boto3" version = "1.26.94" description = "The AWS SDK for Python" -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -125,7 +118,6 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] name = "botocore" version = "1.29.94" description = "Low-level, data-driven core of boto 3." -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -145,7 +137,6 @@ crt = ["awscrt (==0.16.9)"] name = "cachetools" version = "5.3.0" description = "Extensible memoizing collections and decorators" -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -155,21 +146,19 @@ files = [ [[package]] name = "certifi" -version = "2022.12.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] name = "cffi" version = "1.15.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -246,7 +235,6 @@ pycparser = "*" name = "charset-normalizer" version = "3.1.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -331,7 +319,6 @@ files = [ name = "cryptography" version = "41.0.0" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -373,7 +360,6 @@ test-randomorder = ["pytest-randomly"] name = "docker" version = "5.0.3" description = "A Python library for the Docker Engine API." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -394,7 +380,6 @@ tls = ["cryptography (>=3.4.7)", "idna (>=2.0.0)", "pyOpenSSL (>=17.5.0)"] name = "gitdb" version = "4.0.10" description = "Git Object Database" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -409,7 +394,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.31" description = "GitPython is a Python library used to interact with Git repositories" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -424,7 +408,6 @@ gitdb = ">=4.0.1,<5" name = "gojsonnet" version = "0.17.0" description = "Python bindings for Jsonnet - The data templating language" -category = "main" optional = true python-versions = "*" files = [ @@ -435,7 +418,6 @@ files = [ name = "google-api-core" version = "2.11.0" description = "Google API client core library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -458,7 +440,6 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0dev)"] name = "google-api-python-client" version = "2.81.0" description = "Google API Client Library for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -467,7 +448,7 @@ files = [ ] [package.dependencies] -google-api-core = ">=1.31.5,<2.0.0 || >2.3.0,<3.0.0dev" +google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0dev" google-auth = ">=1.19.0,<3.0.0dev" google-auth-httplib2 = ">=0.1.0" httplib2 = ">=0.15.0,<1dev" @@ -477,7 +458,6 @@ uritemplate = ">=3.0.1,<5" name = "google-auth" version = "2.16.2" description = "Google Authentication Library" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*" files = [ @@ -502,7 +482,6 @@ requests = ["requests (>=2.20.0,<3.0.0dev)"] name = "google-auth-httplib2" version = "0.1.0" description = "Google Authentication Library: httplib2 transport" -category = "main" optional = false python-versions = "*" files = [ @@ -519,7 +498,6 @@ six = "*" name = "googleapis-common-protos" version = "1.58.0" description = "Common protobufs used in Google APIs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -537,7 +515,6 @@ grpc = ["grpcio (>=1.44.0,<2.0.0dev)"] name = "httplib2" version = "0.21.0" description = "A comprehensive HTTP client library." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -552,7 +529,6 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 name = "hvac" version = "0.11.2" description = "HashiCorp Vault API client" -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -571,7 +547,6 @@ parser = ["pyhcl (>=0.3.10)"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -583,7 +558,6 @@ files = [ name = "importlib-metadata" version = "6.1.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -603,7 +577,6 @@ testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packag name = "importlib-resources" version = "5.12.0" description = "Read resources from Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -622,7 +595,6 @@ testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-chec name = "isodate" version = "0.6.1" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false python-versions = "*" files = [ @@ -637,7 +609,6 @@ six = "*" name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -655,7 +626,6 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "1.0.1" description = "JSON Matching Expressions" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -667,7 +637,6 @@ files = [ name = "jsonnet" version = "0.18.0" description = "Python bindings for Jsonnet - The data templating language" -category = "main" optional = false python-versions = "*" files = [ @@ -678,7 +647,6 @@ files = [ name = "jsonschema" version = "4.17.3" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -700,7 +668,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "kadet" version = "0.2.2" description = "Easily define and reuse complex Python objects that serialize into JSON or YAML." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -718,7 +685,6 @@ typeguard = ">=2.12.1" name = "markupsafe" version = "2.1.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -778,7 +744,6 @@ files = [ name = "msal" version = "1.22.0" 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." -category = "main" optional = false python-versions = "*" files = [ @@ -798,7 +763,6 @@ broker = ["pymsalruntime (>=0.13.2,<0.14)"] name = "msal-extensions" version = "1.0.0" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." -category = "main" optional = false python-versions = "*" files = [ @@ -817,7 +781,6 @@ portalocker = [ name = "packaging" version = "23.0" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -829,7 +792,6 @@ files = [ name = "pathspec" version = "0.11.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -841,7 +803,6 @@ files = [ name = "pkgutil-resolve-name" version = "1.3.10" description = "Resolve a name to an object." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -853,7 +814,6 @@ files = [ name = "portalocker" version = "2.7.0" description = "Wraps the portalocker recipe for easy usage" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -873,7 +833,6 @@ tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "p name = "protobuf" version = "4.22.1" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -896,7 +855,6 @@ files = [ name = "pyasn1" version = "0.4.8" description = "ASN.1 types and codecs" -category = "main" optional = false python-versions = "*" files = [ @@ -908,7 +866,6 @@ files = [ name = "pyasn1-modules" version = "0.2.8" description = "A collection of ASN.1-based protocols modules." -category = "main" optional = false python-versions = "*" files = [ @@ -923,7 +880,6 @@ pyasn1 = ">=0.4.6,<0.5.0" name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -935,7 +891,6 @@ files = [ name = "pydantic" version = "1.10.6" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -988,7 +943,6 @@ email = ["email-validator (>=1.0.3)"] name = "pyjwt" version = "2.6.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1009,7 +963,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pyparsing" version = "3.0.9" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -1024,7 +977,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pyrsistent" version = "0.19.3" description = "Persistent/Functional/Immutable data structures" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1061,7 +1013,6 @@ files = [ name = "python-box" version = "6.0.2" description = "Advanced Python dictionaries with dot notation access" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1093,7 +1044,6 @@ yaml = ["ruamel.yaml (>=0.17)"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1108,7 +1058,6 @@ six = ">=1.5" name = "python-gnupg" version = "0.4.9" description = "A wrapper for the Gnu Privacy Guard (GPG or GnuPG)" -category = "main" optional = false python-versions = "*" files = [ @@ -1120,7 +1069,6 @@ files = [ name = "python-magic" version = "0.4.27" description = "File type identification using libmagic" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1132,7 +1080,6 @@ files = [ name = "pywin32" version = "227" description = "Python for Window Extensions" -category = "main" optional = true python-versions = "*" files = [ @@ -1154,7 +1101,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1204,7 +1150,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1226,7 +1171,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rsa" version = "4.9" description = "Pure-Python RSA implementation" -category = "main" optional = false python-versions = ">=3.6,<4" files = [ @@ -1241,7 +1185,6 @@ pyasn1 = ">=0.1.3" name = "s3transfer" version = "0.6.0" description = "An Amazon S3 Transfer Manager" -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -1259,7 +1202,6 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] name = "setuptools" version = "67.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1276,7 +1218,6 @@ testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs ( name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1288,7 +1229,6 @@ files = [ name = "smmap" version = "5.0.0" description = "A pure Python implementation of a sliding window memory map manager" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1300,7 +1240,6 @@ files = [ name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1312,7 +1251,6 @@ files = [ name = "typeguard" version = "3.0.1" description = "Run-time type checker for Python" -category = "main" optional = false python-versions = ">=3.7.4" files = [ @@ -1332,7 +1270,6 @@ test = ["mypy (>=0.991)", "pytest (>=7)"] name = "typing-extensions" version = "4.5.0" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1344,7 +1281,6 @@ files = [ name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1356,7 +1292,6 @@ files = [ name = "urllib3" version = "1.26.15" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -1373,7 +1308,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "websocket-client" version = "1.5.1" description = "WebSocket client for Python with low level API options" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1390,7 +1324,6 @@ test = ["websockets"] name = "yamllint" version = "1.29.0" description = "A linter for YAML files." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1407,7 +1340,6 @@ setuptools = "*" name = "zipp" version = "3.15.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.7" files = [ From e67c1939dd704221138b2e9def96de8b38e4481a Mon Sep 17 00:00:00 2001 From: Matteo Voges <98756476+MatteoVoges@users.noreply.github.com> Date: Wed, 26 Jul 2023 13:06:27 +0200 Subject: [PATCH 07/32] fix(examples): add correct target_name reference --- examples/terraform/inventory/classes/type/terraform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/terraform/inventory/classes/type/terraform.yml b/examples/terraform/inventory/classes/type/terraform.yml index 790896b02..65de9ff56 100644 --- a/examples/terraform/inventory/classes/type/terraform.yml +++ b/examples/terraform/inventory/classes/type/terraform.yml @@ -4,7 +4,7 @@ parameters: kapitan: vars: - target: ${name} + target: ${_reclass_:name:full} compile: From f5949816cb95ba2a69a41ec1f1a18941c9c04df2 Mon Sep 17 00:00:00 2001 From: Antonin <9219052+antonincms@users.noreply.github.com> Date: Tue, 22 Aug 2023 16:02:49 +0200 Subject: [PATCH 08/32] Upgrade jsonnet and gojsonnet to 0.20.0 (#1006) The related jsonnet changelog are : - https://github.com/google/jsonnet/releases/tag/v0.18.0 - https://github.com/google/jsonnet/releases/tag/v0.19.0 - https://github.com/google/jsonnet/releases/tag/v0.19.1 - https://github.com/google/jsonnet/releases/tag/v0.20.0 Update search_imports function to return bytes according to the v0.19.0 changes mentioned there: https://github.com/google/jsonnet/releases/tag/v0.19.1 Co-authored-by: Ricardo Amaro --- kapitan/resources.py | 6 ++++-- poetry.lock | 8 ++++---- pyproject.toml | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/kapitan/resources.py b/kapitan/resources.py index e77f4c885..e568d6618 100644 --- a/kapitan/resources.py +++ b/kapitan/resources.py @@ -210,12 +210,14 @@ def search_imports(cwd, import_str, search_paths): - search_paths is the location where to look for import_str if not in cwd The only supported parameters are cwd and import_str, so search_paths needs to be closured. + This function returns a tuple[str, bytes] since jsonnet 0.19.0 require the + content of the file to be provided as a bytes type instead of a str. """ basename = os.path.basename(import_str) full_import_path = os.path.normpath(os.path.join(cwd, import_str)) if full_import_path in JSONNET_CACHE: - return full_import_path, JSONNET_CACHE[full_import_path] + return full_import_path, JSONNET_CACHE[full_import_path].encode() if not os.path.exists(full_import_path): # if import_str not found, search in install_path @@ -246,7 +248,7 @@ def search_imports(cwd, import_str, search_paths): normalised_path_content = f.read() JSONNET_CACHE[normalised_path] = normalised_path_content - return normalised_path, normalised_path_content + return normalised_path, normalised_path_content.encode() def inventory(search_paths, target, inventory_path=None): diff --git a/poetry.lock b/poetry.lock index b3f211ea3..747a8f2b8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -410,12 +410,12 @@ gitdb = ">=4.0.1,<5" [[package]] name = "gojsonnet" -version = "0.17.0" +version = "0.20.0" description = "Python bindings for Jsonnet - The data templating language" optional = true python-versions = "*" files = [ - {file = "gojsonnet-0.17.0.tar.gz", hash = "sha256:f6fc47d9b1dd0099158978216880c86cb0fcae866b4ca54a5e42e7416bec3b98"}, + {file = "gojsonnet-0.20.0.tar.gz", hash = "sha256:9aede3b5734dee1c99dbec75dee3b086baaae92bd262d93f9217e21bf19c9682"}, ] [[package]] @@ -639,12 +639,12 @@ files = [ [[package]] name = "jsonnet" -version = "0.18.0" +version = "0.20.0" description = "Python bindings for Jsonnet - The data templating language" optional = false python-versions = "*" files = [ - {file = "jsonnet-0.18.0.tar.gz", hash = "sha256:4ccd13427e9097b6b7d6d38f78f638a55ab8b452a257639e8e9af2178ec235d4"}, + {file = "jsonnet-0.20.0.tar.gz", hash = "sha256:7e770c7bf3a366b97b650a39430450f77612e74406731eb75c5bd59f3f104d4f"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 07e37a725..00a37e32b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ gitpython = "^3.1.30" google-api-python-client = "^2.15.0" hvac = "^0.11.0" jinja2 = "^3.0.1" -jsonnet = "^0.18.0" +jsonnet = "^0.20.0" jsonschema = "^4.17.3" kadet = "^0.2.2" python-gnupg = "^0.4.7" @@ -61,7 +61,7 @@ certifi = "*" gitdb = "^4.0.10" packaging = "^23.0" typing-extensions = "^4.0.0" -gojsonnet = { version = "^0.17.0", optional = true } +gojsonnet = { version = "^0.20.0", optional = true } docker = { version = "^5.0.0", optional = true } [tool.poetry.extras] From 9dd22366c2615bab31ff0f726295fc38508ce4e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:04:15 +0000 Subject: [PATCH 09/32] Bump cryptography from 41.0.2 to 41.0.3 Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.2 to 41.0.3. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.2...41.0.3) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/poetry.lock b/poetry.lock index 747a8f2b8..90bfe2f84 100644 --- a/poetry.lock +++ b/poetry.lock @@ -317,34 +317,34 @@ files = [ [[package]] name = "cryptography" -version = "41.0.2" +version = "41.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:01f1d9e537f9a15b037d5d9ee442b8c22e3ae11ce65ea1f3316a41c78756b711"}, - {file = "cryptography-41.0.2-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:079347de771f9282fbfe0e0236c716686950c19dee1b76240ab09ce1624d76d7"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:439c3cc4c0d42fa999b83ded80a9a1fb54d53c58d6e59234cfe97f241e6c781d"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f14ad275364c8b4e525d018f6716537ae7b6d369c094805cae45300847e0894f"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:84609ade00a6ec59a89729e87a503c6e36af98ddcd566d5f3be52e29ba993182"}, - {file = "cryptography-41.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:49c3222bb8f8e800aead2e376cbef687bc9e3cb9b58b29a261210456a7783d83"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d73f419a56d74fef257955f51b18d046f3506270a5fd2ac5febbfa259d6c0fa5"}, - {file = "cryptography-41.0.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:2a034bf7d9ca894720f2ec1d8b7b5832d7e363571828037f9e0c4f18c1b58a58"}, - {file = "cryptography-41.0.2-cp37-abi3-win32.whl", hash = "sha256:d124682c7a23c9764e54ca9ab5b308b14b18eba02722b8659fb238546de83a76"}, - {file = "cryptography-41.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:9c3fe6534d59d071ee82081ca3d71eed3210f76ebd0361798c74abc2bcf347d4"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a719399b99377b218dac6cf547b6ec54e6ef20207b6165126a280b0ce97e0d2a"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:182be4171f9332b6741ee818ec27daff9fb00349f706629f5cbf417bd50e66fd"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7a9a3bced53b7f09da251685224d6a260c3cb291768f54954e28f03ef14e3766"}, - {file = "cryptography-41.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f0dc40e6f7aa37af01aba07277d3d64d5a03dc66d682097541ec4da03cc140ee"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:674b669d5daa64206c38e507808aae49904c988fa0a71c935e7006a3e1e83831"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7af244b012711a26196450d34f483357e42aeddb04128885d95a69bd8b14b69b"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9b6d717393dbae53d4e52684ef4f022444fc1cce3c48c38cb74fca29e1f08eaa"}, - {file = "cryptography-41.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:192255f539d7a89f2102d07d7375b1e0a81f7478925b3bc2e0549ebf739dae0e"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f772610fe364372de33d76edcd313636a25684edb94cee53fd790195f5989d14"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:b332cba64d99a70c1e0836902720887fb4529ea49ea7f5462cf6640e095e11d2"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:9a6673c1828db6270b76b22cc696f40cde9043eb90373da5c2f8f2158957f42f"}, - {file = "cryptography-41.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:342f3767e25876751e14f8459ad85e77e660537ca0a066e10e75df9c9e9099f0"}, - {file = "cryptography-41.0.2.tar.gz", hash = "sha256:7d230bf856164de164ecb615ccc14c7fc6de6906ddd5b491f3af90d3514c925c"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:652627a055cb52a84f8c448185922241dd5217443ca194d5739b44612c5e6507"}, + {file = "cryptography-41.0.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:8f09daa483aedea50d249ef98ed500569841d6498aa9c9f4b0531b9964658922"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4fd871184321100fb400d759ad0cddddf284c4b696568204d281c902fc7b0d81"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84537453d57f55a50a5b6835622ee405816999a7113267739a1b4581f83535bd"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3fb248989b6363906827284cd20cca63bb1a757e0a2864d4c1682a985e3dca47"}, + {file = "cryptography-41.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:42cb413e01a5d36da9929baa9d70ca90d90b969269e5a12d39c1e0d475010116"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:aeb57c421b34af8f9fe830e1955bf493a86a7996cc1338fe41b30047d16e962c"}, + {file = "cryptography-41.0.3-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6af1c6387c531cd364b72c28daa29232162010d952ceb7e5ca8e2827526aceae"}, + {file = "cryptography-41.0.3-cp37-abi3-win32.whl", hash = "sha256:0d09fb5356f975974dbcb595ad2d178305e5050656affb7890a1583f5e02a306"}, + {file = "cryptography-41.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:a983e441a00a9d57a4d7c91b3116a37ae602907a7618b882c8013b5762e80574"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5259cb659aa43005eb55a0e4ff2c825ca111a0da1814202c64d28a985d33b087"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:67e120e9a577c64fe1f611e53b30b3e69744e5910ff3b6e97e935aeb96005858"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7efe8041897fe7a50863e51b77789b657a133c75c3b094e51b5e4b5cec7bf906"}, + {file = "cryptography-41.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ce785cf81a7bdade534297ef9e490ddff800d956625020ab2ec2780a556c313e"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:57a51b89f954f216a81c9d057bf1a24e2f36e764a1ca9a501a6964eb4a6800dd"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c2f0d35703d61002a2bbdcf15548ebb701cfdd83cdc12471d2bae80878a4207"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:23c2d778cf829f7d0ae180600b17e9fceea3c2ef8b31a99e3c694cbbf3a24b84"}, + {file = "cryptography-41.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:95dd7f261bb76948b52a5330ba5202b91a26fbac13ad0e9fc8a3ac04752058c7"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:41d7aa7cdfded09b3d73a47f429c298e80796c8e825ddfadc84c8a7f12df212d"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d0d651aa754ef58d75cec6edfbd21259d93810b73f6ec246436a21b7841908de"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ab8de0d091acbf778f74286f4989cf3d1528336af1b59f3e5d2ebca8b5fe49e1"}, + {file = "cryptography-41.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a74fbcdb2a0d46fe00504f571a2a540532f4c188e6ccf26f1f178480117b33c4"}, + {file = "cryptography-41.0.3.tar.gz", hash = "sha256:6d192741113ef5e30d89dcb5b956ef4e1578f304708701b8b73d38e3e1461f34"}, ] [package.dependencies] @@ -1362,4 +1362,4 @@ test = ["docker"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "705734ada27559c4ecbd058884e639fff92deaae1154b6b9ac900d2487fc24cb" +content-hash = "288cc31712df96bf1534fc72b893a5fd67f009e9ddc6b2bfe4c8c972da0489d4" From c3cef1fe8074a8abfc81b383c8859060d4d9b1bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Aug 2023 14:04:17 +0000 Subject: [PATCH 10/32] Bump gitpython from 3.1.31 to 3.1.32 Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.31 to 3.1.32. - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES) - [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.31...3.1.32) --- updated-dependencies: - dependency-name: gitpython dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 747a8f2b8..f5afae6ac 100644 --- a/poetry.lock +++ b/poetry.lock @@ -396,13 +396,13 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.31" +version = "3.1.32" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.31-py3-none-any.whl", hash = "sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d"}, - {file = "GitPython-3.1.31.tar.gz", hash = "sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573"}, + {file = "GitPython-3.1.32-py3-none-any.whl", hash = "sha256:e3d59b1c2c6ebb9dfa7a184daf3b6dd4914237e7488a1730a6d8f6f5d0b4187f"}, + {file = "GitPython-3.1.32.tar.gz", hash = "sha256:8d9b8cb1e80b9735e8717c9362079d3ce4c6e5ddeebedd0361b228c3a67a62f6"}, ] [package.dependencies] @@ -1362,4 +1362,4 @@ test = ["docker"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "705734ada27559c4ecbd058884e639fff92deaae1154b6b9ac900d2487fc24cb" +content-hash = "288cc31712df96bf1534fc72b893a5fd67f009e9ddc6b2bfe4c8c972da0489d4" From 2e627157742f8b25eb17ea7a3e0fbe76083439e8 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Tue, 29 Aug 2023 11:21:13 +0000 Subject: [PATCH 11/32] New blogog post about deploying keda with kapitan --- docs/pages/blog/2023-08-27.md | 228 ++++++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 2 files changed, 229 insertions(+) create mode 100644 docs/pages/blog/2023-08-27.md diff --git a/docs/pages/blog/2023-08-27.md b/docs/pages/blog/2023-08-27.md new file mode 100644 index 000000000..55453809b --- /dev/null +++ b/docs/pages/blog/2023-08-27.md @@ -0,0 +1,228 @@ +--- +author: Alessandro De Maria +author_gh_user: ademariag +read_time: 10m +publish_date: 27/08/2023 +--- + +# :kapitan-logo: **Deploying Keda with Kapitan** + +We have worked hard to bring out a brand new way of experience Kapitan, through something that we call [generators](https://generators.kapicorp.com) + +Although the concept is something we've introduced in 2020 with our blog post [Keep your ship together with Kapitan](https://medium.com/kapitan-blog/keep-your-ship-together-with-kapitan-d82d441cc3e7), the sheer amount of new capabilities (and frankly, the embarassing lack of documentation and examples) forces me to show you the new capabilities using a practicle example: deploying [Keda](https://keda.sh/docs/deploy/). + +## Objective of this tutorial + +We are going to deploy Keda using the helm chart approach. While Kapitan supports a native way to deploy helm charts using the helm input type, we are going instead to use a generator based approach using the "`charts`" generator. + +This tutorial will show you how to configure kapitan to: + +* download a helm chart +* compile a helm chart +* modify a helm chart using mutations + +The content of this tutorial is already available on the [`kapitan-reference`](https://github.com/kapicorp/kapitan-reference) + +## Deploying KEDA + +### Define parameters + +```yaml +## inventory/classes/components/keda.yml +parameters: + keda: + params: + # Variables to reference from other places + application_version: 2.11.2 + service_account_name: keda-operator + chart_name: keda + chart_version: 2.11.2 + chart_dir: system/sources/charts/${keda:params:chart_name}/${keda:params:chart_name}/${keda:params:chart_version}/${keda:params:application_version} + namespace: keda + helm_values: {} +... +``` + +!!! tip "Override Helm Values" + As an example we could be passing to helm an override to the default `values` parameters to make the operator deploy 2 replicas. + + ```yaml + helm_values: + operator: + replicaCount: 2 + ``` + +### Download the chart + +Kapitan supports downloading dependencies, including helm charts. + +When Kapitan is run with the `--fetch`, it will download the dependency if not already present. +Use `--force-fetch` if you want to download it every time. Learn more about [External dependencies](https://kapitan.dev/pages/external_dependencies/#defining-dependencies) + +```yaml +## inventory/classes/components/keda.yml +... + kapitan: + dependencies: + # Tells kapitan to download the helm chart into the chart_dir directory + - type: helm + output_path: ${keda:params:chart_dir} + source: https://kedacore.github.io/charts + version: ${keda:params:chart_version} + chart_name: ${keda:params:chart_name} +... +``` + +!!! tip "Parameter interpolation" + Notice how we are using parameter interpolation from the previously defined `keda.params` section. This will make it easier in the future to override some aspects of the configuration on a per-target base. + +### Generate the chart + +```yaml +## inventory/classes/components/keda.yml +... + charts: + # Configures a helm generator to compile files for the given chart + keda: + chart_dir: ${keda:params:chart_dir} + helm_params: + namespace: ${keda:params:namespace} + name: ${keda:params:chart_name} + helm_values: ${keda:params:helm_values} +``` + +### Compile + +Before we can see any effect, we need to attach the class to a target. We will create a simple target which looks like + +```yaml +# inventory/targets/tutorials/keda.yml +classes: +- common +- components.keda +``` + +Now when we run `kapitan compile` we will see the chart being donwloaded and the manifests being produced. + + +```shell +./kapitan compile -t keda --fetch +Dependency keda: saved to system/sources/charts/keda/keda/2.11.2/2.11.2 +Rendered inventory (1.87s) +Compiled keda (2.09s) +``` +!!! note "`kapitan compile` breakdown" + + * `--fetch` tells kapitan to fetch the chart if it is not found locally + * `-t keda` tells kapitan to compile only the previously defined `keda.yml` target + +```shell +ls -l compiled/keda/manifests/ +total 660 +-rw-r--r-- 1 ademaria root 659081 Aug 29 10:25 keda-bundle.yml +-rw-r--r-- 1 ademaria root 79 Aug 29 10:25 keda-namespace.yml +-rw-r--r-- 1 ademaria root 7092 Aug 29 10:25 keda-rbac.yml +-rw-r--r-- 1 ademaria root 1783 Aug 29 10:25 keda-service.yml +``` + +## Using mutations + +Now let's do a couple of things that would not be easy to do with helm natively. + +You can already notice that the content of the chart is being splitted into multiple files: this is because the Generator is configured to separate different resources types into different files for convenience and consistency. The mechanism behing it is the "Mutation" of type "bundle" which tells Kapitan which file to save a resource into. + +Here are some example "mutation" which separates different `kinds` into different files + +```yaml + mutations: + bundle: + - conditions: + kind: [Ingress] + filename: '{content.component_name}-ingress' + ... + - conditions: + kind: [HorizontalPodAutoscaler, PodDisruptionBudget, VerticalPodAutoscaler] + filename: '{content.component_name}-scaling' + - conditions: + kind: ['*'] + filename: '{content.component_name}-bundle' +``` + +!!! tip "Catch-all rule" + Notice the catchall rule at the end that puts everything that has not matched into the `bundle.yml` file + +### `bundle` mutation` + +Currently most of the keda related resources are bundled into the `-bundle.yml` file +Instead, we want to separate them into their own file. + +Let's add this configuration: + +```yaml + + charts: + # Configures a helm generator to compile files for the given chart + keda: + chart_dir: ${keda:params:chart_dir} + ... + mutations: + bundle: + - conditions: + # CRDs need to be setup separately + kind: [CustomResourceDefinition] + filename: '{content.component_name}-crds' +``` + +Upon compile, you can now see that the CRD are being moved to a different file: + +```shell +ls -l compiled/keda/manifests/ +total 664 +-rw-r--r-- 1 ademaria root 11405 Aug 29 10:56 keda-bundle.yml +-rw-r--r-- 1 ademaria root 647672 Aug 29 10:56 keda-crds.yml +-rw-r--r-- 1 ademaria root 79 Aug 29 10:56 keda-namespace.yml +-rw-r--r-- 1 ademaria root 7092 Aug 29 10:56 keda-rbac.yml +-rw-r--r-- 1 ademaria root 1783 Aug 29 10:56 keda-service.yml +``` + +### `patch` mutation + +As we are using Argo, we want to pass a special `argocd.argoproj.io/sync-options` annotation to the CRD only so that ArgoCD can handle them properly. + +For this we are going to use the `patch` mutation: + +```yaml + +... + mutations: +... + patch: + - conditions: + kind: [CustomResourceDefinition] + patch: + metadata: + annotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true,Replace=true +``` + +Upon compile, you can now see that the CRDs have been modified as required: + +```shell + +diff --git a/compiled/keda/manifests/keda-crds.yml b/compiled/keda/manifests/keda-crds.yml +index 2662bf3..9306c3a 100644 +--- a/compiled/keda/manifests/keda-crds.yml ++++ b/compiled/keda/manifests/keda-crds.yml +@@ -2,6 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 + kind: CustomResourceDefinition + metadata: + annotations: ++ argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true,Replace=true + controller-gen.kubebuilder.io/version: v0.12.0 + +``` + +## Summary + +With this tutorial have explored some capabilities of Kapitan to manage and perform changes to helm charts. +Next tutorial will show how to make use of Keda and deploy a generator for Keda resources \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 0019fa242..2e1f585cb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -118,6 +118,7 @@ nav: - Terraform: pages/examples/terraform.md - Blog: - 2023: + - Kapitan Generators: pages/blog/2023-08-27.md - New Kapitan release: pages/blog/2023-01-16.md - 2022: - 5 years of Kapitan: pages/blog/2022-12-04.md From 59146f74d896d7d05c8f6bc10ff2b8b39fb632bb Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sat, 2 Sep 2023 17:14:05 +0000 Subject: [PATCH 12/32] Adds cookiecutter bootstap and improve documentation --- docs/README.md | 76 -------------- docs/getting_started.md | 161 ++++++++++++++++++++++-------- docs/pages/blog/2023-08-27.md | 2 +- docs/pages/examples/kubernetes.md | 5 + docs/pages/examples/terraform.md | 5 + 5 files changed, 129 insertions(+), 120 deletions(-) diff --git a/docs/README.md b/docs/README.md index f4638af2c..710d0d743 100644 --- a/docs/README.md +++ b/docs/README.md @@ -23,83 +23,7 @@ ![demo](images/kapitan-demo.gif) -## Install Kapitan -[![Releases](https://img.shields.io/github/release/kapicorp/kapitan.svg)](https://github.com/kapicorp/kapitan/releases) - -!!! success "recommended" - ### Docker - ![Docker Pulls](https://img.shields.io/docker/pulls/kapicorp/kapitan) - [![Docker Image Size](https://img.shields.io/docker/image-size/kapicorp/kapitan/latest.svg)](https://hub.docker.com/r/kapicorp/kapitan) - [![Docker](https://github.com/kapicorp/kapitan/workflows/Docker%20Build%20and%20Push/badge.svg)](https://github.com/kapicorp/kapitan/actions?query=workflow%3A%22Docker+Build+and+Push%22) - - - - - === "Linux" - - ```shell - alias kapitan="docker run -t --rm -u $(id -u) -v $(pwd):/src:delegated kapicorp/kapitan" - kapitan -h - ``` - - === "Mac" - - ```shell - alias kapitan="docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan" - kapitan -h - ``` - -### Pip - -#### Install Python - -![Python version](https://img.shields.io/pypi/pyversions/kapitan) -![Unit Tests](https://github.com/kapicorp/kapitan/actions/workflows/test.yml/badge.svg) -=== "Linux" - - ```shell - sudo apt-get update && sudo apt-get install -y python3.8-dev python3-pip python3-yaml - ``` - -=== "Mac" - - ```shell - brew install python3 libyaml libmagic - ``` - -#### Install Kapitan using pip - -![downloads](https://img.shields.io/pypi/dm/kapitan) - -##### User - -=== "Linux" - - !!! note "" - `kapitan` will be installed in `$HOME/.local/lib/python3.7/bin` - - ```shell - pip3 install --user --upgrade kapitan - ``` - -=== "Mac" - - !!! note "" - `kapitan` will be installed in `$HOME/Library/Python/3.7/bin` - - ```shell - pip3 install --user --upgrade kapitan - ``` - - -##### System-wide - -!!! attention "not recommended" - - ```shell - sudo pip3 install --upgrade kapitan - ``` ## Related projects diff --git a/docs/getting_started.md b/docs/getting_started.md index 3907abd1f..a69dc2c92 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -1,15 +1,13 @@ # :kapitan-logo: **Kapitan Overview** -## Setup your repository +## Setup your installation -!!! note - We are currently working on improving the experience to give you an even quicker experience with Kapitan +Using our reference repositories you can easily get started with **Kapitan** -### Quickstart +### Examples repository -[kapicorp/kapitan-reference](https://github.com/kapicorp/kapitan-reference) repository is meant to be a way to bootstrap your **Kapitan** setup to get you up and running. - -It is meant to help you make use of best practices and libraries that can make Kapitan the ultimate tool for all your configuration needs. +[kapicorp/kapitan-reference](https://github.com/kapicorp/kapitan-reference) repository is meant show you many working examples of things you can do with Kapitan. +You can use this to get familiar with **Kapitan** ``` $ git clone git@github.com:kapicorp/kapitan-reference.git kapitan-templates @@ -30,41 +28,118 @@ Compiled pritunl (2.03s) Compiled sock-shop (4.36s) ``` -### From Scratch (Advanced) - -!!! warning - - the `kapitan init` command leaves you with a bare configuration. Setting up Kapitan might require time. - - Please use the [**Quickstart**](#quickstart) setup if you want to get started quicker. - -If you want to start off with a clean **kapitan** project, you can run `kapitan init --directory ` to populate a new directory with the recommended kapitan folder structure. - -The bare minimum structure that makes use of kapitan features may look as follows: - -```text -. -├── components -│ ├── mycomponent.jsonnet -├── templates -├── ├── README.md -├── inventory -│ ├── classes -│ │ ├── common.yml -│ └── targets -│ ├── dev.yml -│ ├── staging.yml -│ └── prod.yml -├── refs -│ ├── targets -│ │ ├── prod -│ │ │ └── password -└───├── common - └── example-com-tls.key +### Minimal repository + +> Using [cruft](https://cruft.github.io/cruft/) based cookiecutter + +```shell +pip3 install cruft +``` + +```shell +cruft create http://github.com/kapicorp/kapitan-reference --checkout cookiecutter --no-input +Dependency https://github.com/kapicorp/generators.git: saved to system/lib +Dependency https://github.com/kapicorp/generators.git: saved to system/generators/kubernetes +Dependency https://github.com/kapicorp/generators.git: saved to system/generators/terraform +Rendered inventory (1.74s) +Compiled echo-server (0.14s) ``` -* `components`: template files for kadet, jsonnet and helm -* `templates`: stores Jinja2 templates for scripts and documentation -* `inventory/targets`: target files -* `inventory/classes`: inventory classes to be inherited by targets -* `refs`: references files +## running **Kapitan** + +!!! success "recommended" + ### `kapitan` wrapper script + If you use the provided repository, we already package a `kapitan` shell script that wraps the docker command to run **Kapitan** + + ```shell + $ ./kapitan compile + Compiled postgres-proxy (1.51s) + Compiled tesoro (1.70s) + Compiled echo-server (1.64s) + Compiled mysql (1.67s) + Compiled gke-pvm-killer (1.17s) + Compiled prod-sockshop (4.74s) + Compiled dev-sockshop (4.74s) + Compiled tutorial (1.68s) + Compiled global (0.76s) + Compiled examples (2.60s) + Compiled pritunl (2.03s) + Compiled sock-shop (4.36s) + ``` + +## Other installation methods + +### Docker +[![Releases](https://img.shields.io/github/release/kapicorp/kapitan.svg)](https://github.com/kapicorp/kapitan/releases) + +!!! success "recommended" + ### Docker + ![Docker Pulls](https://img.shields.io/docker/pulls/kapicorp/kapitan) + [![Docker Image Size](https://img.shields.io/docker/image-size/kapicorp/kapitan/latest.svg)](https://hub.docker.com/r/kapicorp/kapitan) + [![Docker](https://github.com/kapicorp/kapitan/workflows/Docker%20Build%20and%20Push/badge.svg)](https://github.com/kapicorp/kapitan/actions?query=workflow%3A%22Docker+Build+and+Push%22) + + + === "Linux" + + ```shell + alias kapitan="docker run -t --rm -u $(id -u) -v $(pwd):/src:delegated kapicorp/kapitan" + kapitan -h + ``` + + === "Mac" + + ```shell + alias kapitan="docker run -t --rm -v $(pwd):/src:delegated kapicorp/kapitan" + kapitan -h + ``` + +### Pip + +#### Install Python + +![Python version](https://img.shields.io/pypi/pyversions/kapitan) +![Unit Tests](https://github.com/kapicorp/kapitan/actions/workflows/test.yml/badge.svg) +=== "Linux" + + ```shell + sudo apt-get update && sudo apt-get install -y python3.8-dev python3-pip python3-yaml + ``` + +=== "Mac" + + ```shell + brew install python3 libyaml libmagic + ``` + +#### Install Kapitan using pip + +![downloads](https://img.shields.io/pypi/dm/kapitan) + +##### User + +=== "Linux" + + !!! note "" + `kapitan` will be installed in `$HOME/.local/lib/python3.7/bin` + + ```shell + pip3 install --user --upgrade kapitan + ``` + +=== "Mac" + + !!! note "" + `kapitan` will be installed in `$HOME/Library/Python/3.7/bin` + + ```shell + pip3 install --user --upgrade kapitan + ``` + + +##### System-wide + +!!! attention "not recommended" + + ```shell + sudo pip3 install --upgrade kapitan + ``` \ No newline at end of file diff --git a/docs/pages/blog/2023-08-27.md b/docs/pages/blog/2023-08-27.md index 55453809b..b5aa46c2a 100644 --- a/docs/pages/blog/2023-08-27.md +++ b/docs/pages/blog/2023-08-27.md @@ -151,7 +151,7 @@ Here are some example "mutation" which separates different `kinds` into differen !!! tip "Catch-all rule" Notice the catchall rule at the end that puts everything that has not matched into the `bundle.yml` file -### `bundle` mutation` +### `bundle` mutation Currently most of the keda related resources are bundled into the `-bundle.yml` file Instead, we want to separate them into their own file. diff --git a/docs/pages/examples/kubernetes.md b/docs/pages/examples/kubernetes.md index 4b48a46c5..cc0c3b048 100644 --- a/docs/pages/examples/kubernetes.md +++ b/docs/pages/examples/kubernetes.md @@ -4,6 +4,11 @@ tags: --- # :kapitan-logo: **Kubernetes examples** +!!! danger + This documentation is not up-to-date. + + Please refer to the [documentation](/pages/kapitan_overview/), [Getting started](/getting_started/) or look at the [Kapitan Reference](https://github.com/kapicorp/kapitan-reference) repository. + Here, we walk through how kapitan could be used to help create kubernetes manifests, whose values are customized for each target according to the inventory structure. The example folder can be found in our repository on Github at . ## Directory structure diff --git a/docs/pages/examples/terraform.md b/docs/pages/examples/terraform.md index e9a5d2890..a0cc49394 100644 --- a/docs/pages/examples/terraform.md +++ b/docs/pages/examples/terraform.md @@ -4,6 +4,11 @@ tags: --- # :kapitan-logo: **Terraform example** +!!! danger + This documentation is not up-to-date. + + Please refer to the [documentation](/pages/kapitan_overview/), [Getting started](/getting_started/) or look at the [Kapitan Reference](https://github.com/kapicorp/kapitan-reference) repository. + We will be looking at how to use Kapitan to compile terraform files with Jsonnet as the input type. It's possible to use other input types, however, Jsonnet is recommended. For example, we could use the Kadet input to generate terraform files but this would require templates to be written in YAML then rendered into JSON. It is possible to allow Kadet to consume JSON as an input. This enables you to integrate your organizations pre-existing terraform JSON file's as templates. From 16a82153319efa0eb5211392f0b84da86651d646 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sun, 10 Sep 2023 10:20:44 +0000 Subject: [PATCH 13/32] Improved documentation workflow --- .github/workflows/documentation.yml | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 7f9133212..2c217e7b1 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,33 +1,22 @@ --- name: Build and deploy documentation on merge to master + on: push: branches: - master + paths: + - 'docs/**' + - 'requirements.docs.txt' + - 'mkdocs.yml' + - 'CNAME' + jobs: - build: + docs: runs-on: ubuntu-latest steps: - name: Checkout kapitan recursively - uses: actions/checkout@master - with: - submodules: recursive - - name: Strip git ref prefix from tag version and store in TAG_VERSION - run: | - echo "TAG_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV - echo "REF_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Strip full version and just keep major part in MAJOR_VERSION VAR - run: | - echo "MAJOR_VERSION=${TAG_VERSION:0:4}" >> $GITHUB_ENV - - # Printing versions needs to be a separate step, - # as they aren't set during the previous two steps - - name: Print Versions - run: | - echo ${{ env.TAG_VERSION }} - echo ${{ env.MAJOR_VERSION }} - echo ${{ env.REF_NAME }} + uses: actions/checkout@v4 - name: Deploy docs uses: mhausenblas/mkdocs-deploy-gh-pages@master From 14ddd8eedc142a8edd0f988644ca37e271da1534 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sun, 10 Sep 2023 12:18:45 +0000 Subject: [PATCH 14/32] Also check for github actions --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 029ea41a3..fb115b59e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -19,3 +19,10 @@ updates: open-pull-requests-limit: 2 reviewers: - "kapicorp/kapicorpdevs" + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + labels: + - "github-actions" \ No newline at end of file From c9a94431e5c7d3eb5a0ddeed83f3658756c6ddcf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:22:59 +0000 Subject: [PATCH 15/32] Bump docker/build-push-action from 2 to 4 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 4. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2...v4) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/docker-image.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index db970d1f3..31121cf98 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -49,7 +49,7 @@ jobs: - name: Build PR/versioned tags if: github.ref != 'refs/heads/master' - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 with: tags: kapicorp/kapitan:${{ format('{0}', env.REF_NAME ) }} platforms: linux/amd64,linux/arm64 @@ -57,7 +57,7 @@ jobs: file: Dockerfile # TODO push and tag as latest if release (and not RC) - name: Build latest tag - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 if: github.ref == 'refs/heads/master' with: tags: kapicorp/kapitan:${{ format('{0}', env.REF_NAME ) }},kapicorp/kapitan:latest @@ -68,7 +68,7 @@ jobs: [ ${{ env.REF_NAME }} == "master" ] && tagname="latest" || tagname=${{ env.REF_NAME }} docker run -t --rm kapicorp/kapitan:${tagname} --version - name: Build major version tag - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 if: startsWith(github.ref, 'refs/tags/') with: tags: kapicorp/kapitan:${{ format('{0}', env.MAJOR_VERSION ) }} From c3dd8b32ce69e9fb7dd9319d88c8ed691866dd3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:23:02 +0000 Subject: [PATCH 16/32] Bump docker/login-action from 1 to 2 Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index db970d1f3..fee5c7c48 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -35,7 +35,7 @@ jobs: echo ${{ env.MAJOR_VERSION }} echo ${{ env.REF_NAME }} - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} From 3fcbe34c4972f0be52fe0baf7f1a4be2246068dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:23:47 +0000 Subject: [PATCH 17/32] PIP dependency update: Bump typing-extensions from 4.5.0 to 4.7.1 Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.5.0 to 4.7.1. - [Release notes](https://github.com/python/typing_extensions/releases) - [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md) - [Commits](https://github.com/python/typing_extensions/compare/4.5.0...4.7.1) --- updated-dependencies: - dependency-name: typing-extensions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2b5e091ac..898a2d369 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "addict" @@ -1272,13 +1272,13 @@ test = ["mypy (>=0.991)", "pytest (>=7)"] [[package]] name = "typing-extensions" -version = "4.5.0" +version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, - {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] [[package]] From 96be9dc28d9f8f64c4c079d52391ed4fa9ad69a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:24:07 +0000 Subject: [PATCH 18/32] PIP dependency update: Bump boto3 from 1.26.94 to 1.28.44 Bumps [boto3](https://github.com/boto/boto3) from 1.26.94 to 1.28.44. - [Release notes](https://github.com/boto/boto3/releases) - [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst) - [Commits](https://github.com/boto/boto3/compare/1.26.94...1.28.44) --- updated-dependencies: - dependency-name: boto3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- poetry.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/poetry.lock b/poetry.lock index 2b5e091ac..cddc9918a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "addict" @@ -97,17 +97,17 @@ typing-extensions = ">=4.0.1" [[package]] name = "boto3" -version = "1.26.94" +version = "1.28.44" description = "The AWS SDK for Python" optional = false python-versions = ">= 3.7" files = [ - {file = "boto3-1.26.94-py3-none-any.whl", hash = "sha256:619022059e255731f33cd9fe083b8fd62406efcbc07dc15660037bcaa1ba1255"}, - {file = "boto3-1.26.94.tar.gz", hash = "sha256:9f156f4da4b0a15924196e1a8e3439d1b99cd4a463588e4bb103d1cfaf5618fa"}, + {file = "boto3-1.28.44-py3-none-any.whl", hash = "sha256:c53c92dfe22489ba31e918c2e7b59ff43e2e778bd3d3559e62351a739382bb5c"}, + {file = "boto3-1.28.44.tar.gz", hash = "sha256:eea3b07e0f28c9f92bccab972af24a3b0dd951c69d93da75227b8ecd3e18f6c4"}, ] [package.dependencies] -botocore = ">=1.29.94,<1.30.0" +botocore = ">=1.31.44,<1.32.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.6.0,<0.7.0" @@ -116,13 +116,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.29.94" +version = "1.31.44" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">= 3.7" files = [ - {file = "botocore-1.29.94-py3-none-any.whl", hash = "sha256:01b9e066b9eea719ee852e91841b92c7371f6bd388cf6186b5d55508e0f7fa1b"}, - {file = "botocore-1.29.94.tar.gz", hash = "sha256:3748b79e6fc95c19d890aa7439a53b9d468a4c4918439b2ba5cc3c13bfaff817"}, + {file = "botocore-1.31.44-py3-none-any.whl", hash = "sha256:83d61c1ca781e6ede19fcc4d5dd73004eee3825a2b220f0d7727e32069209d98"}, + {file = "botocore-1.31.44.tar.gz", hash = "sha256:84f90919fecb4a4f417fd10145c8a87ff2c4b14d6381cd34d9babf02110b3315"}, ] [package.dependencies] @@ -131,7 +131,7 @@ python-dateutil = ">=2.1,<3.0.0" urllib3 = ">=1.25.4,<1.27" [package.extras] -crt = ["awscrt (==0.16.9)"] +crt = ["awscrt (==0.16.26)"] [[package]] name = "cachetools" From 1324aebb907b071799129f4ab3fdb306641e3ddc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:26:04 +0000 Subject: [PATCH 19/32] Bump actions/checkout from 2 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pex-build-upload.yml | 2 +- .github/workflows/python-black.yml | 2 +- .github/workflows/python-pip-publish.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pex-build-upload.yml b/.github/workflows/pex-build-upload.yml index 38890cf0c..6914b8d60 100644 --- a/.github/workflows/pex-build-upload.yml +++ b/.github/workflows/pex-build-upload.yml @@ -15,7 +15,7 @@ jobs: if: false # disable as this is not working with multiple python versions runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: recursive - name: Set up Python diff --git a/.github/workflows/python-black.yml b/.github/workflows/python-black.yml index fe6156951..d6b675060 100644 --- a/.github/workflows/python-black.yml +++ b/.github/workflows/python-black.yml @@ -9,6 +9,6 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: actions/setup-python@v2 - uses: psf/black@main diff --git a/.github/workflows/python-pip-publish.yml b/.github/workflows/python-pip-publish.yml index 38dbc0c80..ffec38ae3 100644 --- a/.github/workflows/python-pip-publish.yml +++ b/.github/workflows/python-pip-publish.yml @@ -9,7 +9,7 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: recursive - name: Set up Python From fca5b683f793c3521404d16a7bf8f5f37a55394e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:27:10 +0000 Subject: [PATCH 20/32] Bump actions/setup-python from 2 to 4 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pex-build-upload.yml | 2 +- .github/workflows/python-black.yml | 2 +- .github/workflows/python-pip-publish.yml | 2 +- .github/workflows/test.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pex-build-upload.yml b/.github/workflows/pex-build-upload.yml index 6914b8d60..d17105640 100644 --- a/.github/workflows/pex-build-upload.yml +++ b/.github/workflows/pex-build-upload.yml @@ -19,7 +19,7 @@ jobs: with: submodules: recursive - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.x - name: Set up Go diff --git a/.github/workflows/python-black.yml b/.github/workflows/python-black.yml index d6b675060..1084d9854 100644 --- a/.github/workflows/python-black.yml +++ b/.github/workflows/python-black.yml @@ -10,5 +10,5 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 - uses: psf/black@main diff --git a/.github/workflows/python-pip-publish.yml b/.github/workflows/python-pip-publish.yml index ffec38ae3..14bc850c6 100644 --- a/.github/workflows/python-pip-publish.yml +++ b/.github/workflows/python-pip-publish.yml @@ -13,7 +13,7 @@ jobs: with: submodules: recursive - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: 3.x - name: Install dependencies diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 292404eea..03143898c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,7 +28,7 @@ jobs: with: submodules: recursive - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install testing dependencies From d218e8df771d550b0d77936d723de259473d0933 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 12:28:08 +0000 Subject: [PATCH 21/32] Bump actions/setup-go from 2 to 4 Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/pex-build-upload.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pex-build-upload.yml b/.github/workflows/pex-build-upload.yml index d17105640..498ba62a8 100644 --- a/.github/workflows/pex-build-upload.yml +++ b/.github/workflows/pex-build-upload.yml @@ -23,7 +23,7 @@ jobs: with: python-version: 3.x - name: Set up Go - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: go-version: 1.17 - name: Install Python dependencies From 07e4f432082ca40f42ece66f9f10864656f8155e Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sun, 10 Sep 2023 11:52:42 +0000 Subject: [PATCH 22/32] All proposed changes for visibility --- .github/workflows/docker-image.yml | 76 -------- .github/workflows/documentation.yml | 4 + .github/workflows/pex-build-upload.yml | 2 - .github/workflows/python-black.yml | 14 -- .github/workflows/python-pip-publish.yml | 4 + .github/workflows/test-build-publish.yml | 229 +++++++++++++++++++++++ .github/workflows/test.yml | 46 ----- Dockerfile | 40 ++-- 8 files changed, 261 insertions(+), 154 deletions(-) delete mode 100644 .github/workflows/docker-image.yml delete mode 100644 .github/workflows/python-black.yml create mode 100644 .github/workflows/test-build-publish.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml deleted file mode 100644 index 795ef6d2e..000000000 --- a/.github/workflows/docker-image.yml +++ /dev/null @@ -1,76 +0,0 @@ ---- -name: Docker Build and Push -on: - push: - paths-ignore: - - 'docs/**' - workflow_run: - workflows: - - Python Tests - types: - - completed - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout kapitan recursively - uses: actions/checkout@master - with: - submodules: recursive - - name: Strip git ref prefix from tag version and store in TAG_VERSION - run: | - echo "TAG_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV - echo "REF_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV - - - name: Strip full version and just keep major part in MAJOR_VERSION VAR - run: | - echo "MAJOR_VERSION=${TAG_VERSION:0:4}" >> $GITHUB_ENV - - # Printing versions needs to be a separate step, - # as they aren't set during the previous two steps - - name: Print Versions - run: | - echo ${{ env.TAG_VERSION }} - echo ${{ env.MAJOR_VERSION }} - echo ${{ env.REF_NAME }} - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - # Setup QEMU and Buildx to build multi-platform image - # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Build PR/versioned tags - if: github.ref != 'refs/heads/master' - uses: docker/build-push-action@v4 - with: - tags: kapicorp/kapitan:${{ format('{0}', env.REF_NAME ) }} - platforms: linux/amd64,linux/arm64 - push: ${{ github.event_name != 'pull_request' }} # push image only on non-pull_requests - file: Dockerfile - # TODO push and tag as latest if release (and not RC) - - name: Build latest tag - uses: docker/build-push-action@v4 - if: github.ref == 'refs/heads/master' - with: - tags: kapicorp/kapitan:${{ format('{0}', env.REF_NAME ) }},kapicorp/kapitan:latest - platforms: linux/amd64,linux/arm64 - file: Dockerfile - - name: Test Dockerfile in current ref - run: | - [ ${{ env.REF_NAME }} == "master" ] && tagname="latest" || tagname=${{ env.REF_NAME }} - docker run -t --rm kapicorp/kapitan:${tagname} --version - - name: Build major version tag - uses: docker/build-push-action@v4 - if: startsWith(github.ref, 'refs/tags/') - with: - tags: kapicorp/kapitan:${{ format('{0}', env.MAJOR_VERSION ) }} - platforms: linux/amd64,linux/arm64 - file: Dockerfile diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 2c217e7b1..d118aa793 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,6 +1,10 @@ --- name: Build and deploy documentation on merge to master +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + on: push: branches: diff --git a/.github/workflows/pex-build-upload.yml b/.github/workflows/pex-build-upload.yml index 498ba62a8..599336c83 100644 --- a/.github/workflows/pex-build-upload.yml +++ b/.github/workflows/pex-build-upload.yml @@ -2,8 +2,6 @@ name: PEX Build and Upload on: - release: - types: [created] workflow_run: workflows: - Upload Python Package diff --git a/.github/workflows/python-black.yml b/.github/workflows/python-black.yml deleted file mode 100644 index 1084d9854..000000000 --- a/.github/workflows/python-black.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Python Lint -on: - push: - branches: - - master - pull_request: -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v4 - - uses: psf/black@main diff --git a/.github/workflows/python-pip-publish.yml b/.github/workflows/python-pip-publish.yml index 14bc850c6..9e73909fe 100644 --- a/.github/workflows/python-pip-publish.yml +++ b/.github/workflows/python-pip-publish.yml @@ -1,6 +1,10 @@ --- name: Upload Python Package +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + on: release: types: [created] diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml new file mode 100644 index 000000000..d369822af --- /dev/null +++ b/.github/workflows/test-build-publish.yml @@ -0,0 +1,229 @@ +--- +name: Test, Build and Publish docker image +run-name: Docker Build for ${{ github.actor }} on branch ${{ github.ref_name }} + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +on: + push: + branches: + - master + - main + - test/* + paths-ignore: + - 'docs/**' + - 'requirements.docs.txt' + - 'mkdocs.yml' + - 'CNAME' + + release: + types: [created] + + pull_request: + paths-ignore: + - 'docs/**' + - 'requirements.docs.txt' + - 'mkdocs.yml' + - 'CNAME' + +jobs: + lint: + name: linter + runs-on: ubuntu-latest + if: success() || failure() # Continue running if other jobs fail + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: '3.9' + - uses: psf/black@main + + test: + name: python ${{ matrix.python-version }} tests + runs-on: ubuntu-latest + if: success() || failure() # Continue running if other jobs fail + strategy: + matrix: + python-version: [3.8, 3.9] + + steps: + - name: Checkout kapitan recursively + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + cache: 'pip' + python-version: ${{ matrix.python-version }} + + - name: Install testing dependencies + run: | + sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 762E3157 + sudo apt-get -qq update + sudo apt-get install -y gnupg2 git curl + curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 + chmod 700 get_helm.sh + sudo ./get_helm.sh + pip3 install --editable ".[test]" + pip3 install coverage black + - name: Run tests + run: |- + make test && make test_coverage + + build: + name: build ${{ matrix.platform }} image + if: success() || failure() # Continue running if other jobs fail + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + - linux/arm64 + steps: + - name: Checkout kapitan recursively + uses: actions/checkout@v4 + with: + submodules: recursive + + # Setup QEMU and Buildx to build multi-platform image + # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + # Builds docker image and allow scoped caching + - name: build Kapitan Image + uses: docker/build-push-action@v4 + with: + push: False + platforms: ${{ matrix.platform }} + load: True + file: Dockerfile + tags: local-test-${{ matrix.platform }} + cache-from: type=gha,scope=$GITHUB_REF_NAME-${{ matrix.platform }} + cache-to: type=gha,mode=max,scope=$GITHUB_REF_NAME-${{ matrix.platform }} + + - name: Test Kapitan for ${{ matrix.platform }} + run: | + docker run -t --rm local-test-${{ matrix.platform }} --version + + publish: + name: publish platform images + # Only starts if everything else is successful + needs: [lint, test, build] + if: github.event_name != 'pull_request' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + - linux/arm64 + steps: + - name: Checkout kapitan recursively + uses: actions/checkout@v4 + with: + submodules: recursive + + # Setup QEMU and Buildx to build multi-platform image + # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} + if: env.DOCKERHUB_USERNAME != null + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} + with: + # list of Docker images to use as base name for tags + images: | + name=${{ env.DOCKERHUB_USERNAME }}/kapitan + # generate Docker tags based on the following events/attributes + tags: | + type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + flavor: | + suffix=-${{ matrix.platform }} + + - name: Build and push by digest + id: push-digest + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} + if: env.DOCKERHUB_USERNAME != null + uses: docker/build-push-action@v4 + with: + platforms: ${{ matrix.platform }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{steps.meta.output.labels}} + cache-from: type=gha,scope=$GITHUB_REF_NAME-${{ matrix.platform }} + cache-to: type=gha,mode=max,scope=$GITHUB_REF_NAME-${{ matrix.platform }} + + build-multi-architecture: + name: combine platform images + needs: + - publish + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + # Setup QEMU and Buildx to build multi-platform image + # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} + if: env.DOCKERHUB_USERNAME != null + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + env: + DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} + with: + # list of Docker images to use as base name for tags + images: | + name=${{ env.DOCKERHUB_USERNAME }}/kapitan + # generate Docker tags based on the following events/attributes + tags: | + type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} + type=ref,event=branch + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + + - uses: int128/docker-manifest-create-action@v1 + with: + tags: ${{ steps.meta.outputs.tags }} + builder: buildx + suffixes: | + -linux-amd64 + -linux-arm64 \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index 03143898c..000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- -name: Python Tests -on: - push: - paths-ignore: - - 'docs/**' - branches: - - master - pull_request: - paths-ignore: - - 'docs/**' - workflow_run: - workflows: - - Python Lint - types: - - completed - -jobs: - test: - runs-on: ubuntu-latest - strategy: - matrix: - python-version: [3.8, 3.9] - - steps: - - name: Checkout kapitan recursively - uses: actions/checkout@master - with: - submodules: recursive - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - name: Install testing dependencies - run: | - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 762E3157 - sudo apt-get -qq update - sudo apt-get install -y gnupg2 git curl - curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 - chmod 700 get_helm.sh - sudo ./get_helm.sh - pip3 install --editable ".[test]" - pip3 install coverage black - - name: Run tests - run: |- - make test && make test_coverage diff --git a/Dockerfile b/Dockerfile index b555844fe..9c6990cb5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,45 +1,51 @@ # Build the virtualenv for Kapitan FROM python:3.8-slim AS python-builder - ARG TARGETARCH +ENV TARGETARCH=${TARGETARCH:-amd64} RUN mkdir /kapitan WORKDIR /kapitan -COPY ./kapitan ./kapitan -COPY ./MANIFEST.in ./MANIFEST.in -COPY ./pyproject.toml ./pyproject.toml -COPY ./README.md ./README.md - -ENV PATH="/opt/venv/bin:${PATH}" - RUN apt-get update \ && apt-get install --no-install-recommends -y \ curl \ build-essential +ENV POETRY_VERSION=1.4.0 +ENV VIRTUAL_ENV=/opt/venv +ENV PATH="$VIRTUAL_ENV/bin:/usr/local/go/bin:${PATH}" +RUN python -m venv $VIRTUAL_ENV \ + && pip install --upgrade pip yq wheel poetry==$POETRY_VERSION + # Install Go (for go-jsonnet) RUN curl -fsSL -o go.tar.gz https://go.dev/dl/go1.17.3.linux-${TARGETARCH}.tar.gz \ && tar -C /usr/local -xzf go.tar.gz \ && rm go.tar.gz -RUN python -m venv /opt/venv \ - && pip install --upgrade pip yq wheel \ - && export PATH=$PATH:/usr/local/go/bin \ - && pip install --editable .[test] \ - && pip install .[gojsonnet] - # Install Helm RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \ && chmod 700 get_helm.sh \ && HELM_INSTALL_DIR=/opt/venv/bin ./get_helm.sh --no-sudo \ && rm get_helm.sh + +COPY ./MANIFEST.in ./MANIFEST.in +COPY ./pyproject.toml ./pyproject.toml +COPY ./poetry.lock ./poetry.lock +COPY ./README.md ./README.md + +# Installs and caches dependencies +RUN poetry install --no-root --extras=gojsonnet + +COPY ./kapitan ./kapitan + +RUN pip install --editable .[test] \ + && pip install .[gojsonnet] + + # Final image with virtualenv built in previous step FROM python:3.8-slim -COPY --from=python-builder /opt/venv /opt/venv - ENV PATH="/opt/venv/bin:${PATH}" ENV HELM_CACHE_HOME=".cache/helm" ENV SEARCHPATH="/src" @@ -58,6 +64,8 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && useradd --create-home --no-log-init --user-group kapitan +COPY --from=python-builder /opt/venv /opt/venv + USER kapitan ENTRYPOINT ["kapitan"] From 77b8309afc9be827abcc6f81d1dc8efb1b2b0091 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Fri, 15 Sep 2023 09:01:55 +0000 Subject: [PATCH 23/32] speed up python tests by running them only once --- .github/workflows/test-build-publish.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index d369822af..da59efed5 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -72,7 +72,8 @@ jobs: pip3 install coverage black - name: Run tests run: |- - make test && make test_coverage + # includes make test + make test_coverage build: name: build ${{ matrix.platform }} image @@ -113,6 +114,7 @@ jobs: run: | docker run -t --rm local-test-${{ matrix.platform }} --version + publish: name: publish platform images # Only starts if everything else is successful From ced87dc093f32c551a4d79e4732a4408ba14fc94 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Fri, 15 Sep 2023 09:30:06 +0000 Subject: [PATCH 24/32] Use correct upstream docker org --- .github/workflows/test-build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index d369822af..bf975cf57 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -155,7 +155,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - name=${{ env.DOCKERHUB_USERNAME }}/kapitan + name=${{ env.DOCKERHUB_REPOSITORY }}/kapitan # generate Docker tags based on the following events/attributes tags: | type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} @@ -211,7 +211,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - name=${{ env.DOCKERHUB_USERNAME }}/kapitan + name=${{ env.DOCKERHUB_REPOSITORY }}/kapitan # generate Docker tags based on the following events/attributes tags: | type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} From e7f44ccf05ad5d1d7a1491988118ec110bab603f Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Fri, 15 Sep 2023 09:52:42 +0000 Subject: [PATCH 25/32] fix vars instead of env being used --- .github/workflows/test-build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index bf975cf57..16f0182fd 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -155,7 +155,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - name=${{ env.DOCKERHUB_REPOSITORY }}/kapitan + name=${{ vars.DOCKERHUB_REPOSITORY }}/kapitan # generate Docker tags based on the following events/attributes tags: | type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} @@ -211,7 +211,7 @@ jobs: with: # list of Docker images to use as base name for tags images: | - name=${{ env.DOCKERHUB_REPOSITORY }}/kapitan + name=${{ vars.DOCKERHUB_REPOSITORY }}/kapitan # generate Docker tags based on the following events/attributes tags: | type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} From 9a0341ad853392ac0c0fdf4a3eb9207878aa6971 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:03:08 +0000 Subject: [PATCH 26/32] Bump docker/setup-qemu-action from 2 to 3 Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-build-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index 01f813f3b..55a4b24a3 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -94,7 +94,7 @@ jobs: # Setup QEMU and Buildx to build multi-platform image # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -136,7 +136,7 @@ jobs: # Setup QEMU and Buildx to build multi-platform image # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 @@ -192,7 +192,7 @@ jobs: # Setup QEMU and Buildx to build multi-platform image # This was inspired by this example : https://docs.docker.com/build/ci/github-actions/examples/#multi-platform-images - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 From 6295a755a40df42b5b6f938d903ea95023d75e6b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:07:22 +0000 Subject: [PATCH 27/32] Bump docker/build-push-action from 4 to 5 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v4...v5) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index 55a4b24a3..bcd96772a 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -100,7 +100,7 @@ jobs: # Builds docker image and allow scoped caching - name: build Kapitan Image - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: push: False platforms: ${{ matrix.platform }} @@ -173,7 +173,7 @@ jobs: env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} if: env.DOCKERHUB_USERNAME != null - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v5 with: platforms: ${{ matrix.platform }} push: true From 2ee5d2f67d7bfe4c9a8301042add92f97d55d6fb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:11:58 +0000 Subject: [PATCH 28/32] Bump docker/login-action from 2 to 3 Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index bcd96772a..0c6b67ab6 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -141,7 +141,7 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} if: env.DOCKERHUB_USERNAME != null @@ -197,7 +197,7 @@ jobs: uses: docker/setup-buildx-action@v2 - name: Login to DockerHub - uses: docker/login-action@v2 + uses: docker/login-action@v3 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} if: env.DOCKERHUB_USERNAME != null From 326da4639a282e942d7a73234b091278bfb5fa1f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:20:36 +0000 Subject: [PATCH 29/32] Bump docker/setup-buildx-action from 2 to 3 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-build-publish.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index 0c6b67ab6..e2f0ee3c1 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -96,7 +96,7 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 # Builds docker image and allow scoped caching - name: build Kapitan Image @@ -138,7 +138,7 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub uses: docker/login-action@v3 @@ -194,7 +194,7 @@ jobs: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub uses: docker/login-action@v3 From 0ac4a1912e882a0ef0172e8e346ef7e0768fb6f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Sep 2023 10:35:47 +0000 Subject: [PATCH 30/32] build(deps): bump docker/metadata-action from 4 to 5 Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4 to 5. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](https://github.com/docker/metadata-action/compare/v4...v5) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test-build-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index e2f0ee3c1..adb7345f8 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -151,7 +151,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} with: @@ -207,7 +207,7 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME}} with: From 7295a7e4d1c3e2edbca99488d273f6d832d74b1b Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sat, 16 Sep 2023 12:21:32 +0000 Subject: [PATCH 31/32] Upgrade docs --- Dockerfile.docs | 2 +- requirements.docs.txt | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile.docs b/Dockerfile.docs index a15cc9f83..3eca27e27 100644 --- a/Dockerfile.docs +++ b/Dockerfile.docs @@ -1,4 +1,4 @@ -FROM squidfunk/mkdocs-material:8.5.10 +FROM squidfunk/mkdocs-material:9.3 COPY requirements.docs.txt /tmp/requirements.docs.txt diff --git a/requirements.docs.txt b/requirements.docs.txt index 15aa0a92a..45ab2b0fa 100644 --- a/requirements.docs.txt +++ b/requirements.docs.txt @@ -1,5 +1,5 @@ -markdown-include==0.7.0 -mkdocs-material-extensions==1.1 -mkdocs-material==8.5.10 -mkdocs==1.4.2 -pymdown-extensions==10.0 \ No newline at end of file +markdown-include==0.8.1 +mkdocs-material-extensions==1.1.1 +mkdocs-material==9.3.1 +mkdocs==1.5.2 +pymdown-extensions==10.3 From 2cc351d0c218459cb46a56e482c75e6a608d9558 Mon Sep 17 00:00:00 2001 From: Alessandro De Maria Date: Sat, 16 Sep 2023 12:24:02 +0000 Subject: [PATCH 32/32] Exclude dockerfile from build --- .github/workflows/documentation.yml | 1 + .github/workflows/test-build-publish.yml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index d118aa793..78cc8d97c 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -12,6 +12,7 @@ on: paths: - 'docs/**' - 'requirements.docs.txt' + - 'Dockerfile.docs' - 'mkdocs.yml' - 'CNAME' diff --git a/.github/workflows/test-build-publish.yml b/.github/workflows/test-build-publish.yml index adb7345f8..a9c2c9706 100644 --- a/.github/workflows/test-build-publish.yml +++ b/.github/workflows/test-build-publish.yml @@ -17,6 +17,7 @@ on: - 'requirements.docs.txt' - 'mkdocs.yml' - 'CNAME' + - 'Dockerfile.docs' release: types: [created] @@ -27,6 +28,7 @@ on: - 'requirements.docs.txt' - 'mkdocs.yml' - 'CNAME' + - 'Dockerfile.docs' jobs: lint: