diff --git a/.yamllint b/.yamllint index 34b0bf1..bdff3ad 100644 --- a/.yamllint +++ b/.yamllint @@ -13,3 +13,9 @@ rules: level: error line-length: disable truthy: disable + comments-indentation: false + comments: + min-spaces-from-content: 1 + octal-values: + forbid-implicit-octal: true + forbid-explicit-octal: true diff --git a/Makefile b/Makefile index 8a23cd1..dcd0bbf 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ all: install version lint test install: @type poetry >/dev/null || pip3 install poetry - @poetry install + @poetry install --no-root lint: install poetry run yamllint . diff --git a/meta/main.yml b/meta/main.yml index 57c43c3..458cc2c 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -5,7 +5,7 @@ galaxy_info: author: nephelaiio description: An ansible role to generate acme certificates using dns challenges with cloudflare dns license: MIT - min_ansible_version: 2.10 + min_ansible_version: '2.10' platforms: - name: EL versions: diff --git a/poetry.lock b/poetry.lock index 6e16493..04f2493 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,50 +1,50 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "ansible" -version = "8.5.0" +version = "10.1.0" description = "Radically simple IT automation" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ansible-8.5.0-py3-none-any.whl", hash = "sha256:2749032e26b0dbc9a694528b85fd89e7f950b8c7b53606f17dd997f23ac7cc88"}, - {file = "ansible-8.5.0.tar.gz", hash = "sha256:327c509bdaf5cdb2489d85c09d2c107e9432f9874c8bb5c0702a731160915f2d"}, + {file = "ansible-10.1.0-py3-none-any.whl", hash = "sha256:05b761c4628a0fc216478a5e3c111613c61fd13280846fa84843a63c36c7b1b6"}, + {file = "ansible-10.1.0.tar.gz", hash = "sha256:7d8c44557f570687306e19d0e3296ad230593cb12bda35dcfc9274a6063af22a"}, ] [package.dependencies] -ansible-core = ">=2.15.5,<2.16.0" +ansible-core = ">=2.17.1,<2.18.0" [[package]] name = "ansible-compat" -version = "4.1.10" +version = "24.6.1" description = "Ansible compatibility goodies" optional = false python-versions = ">=3.9" files = [ - {file = "ansible-compat-4.1.10.tar.gz", hash = "sha256:2be8c7b510d2e15eed1e9ef443209d67d9aec8f427026b88936d4535ff59863d"}, - {file = "ansible_compat-4.1.10-py3-none-any.whl", hash = "sha256:f09c3137c9f5f65d38caed44f1a1565c0e7170df720d461e76839beda6018edb"}, + {file = "ansible_compat-24.6.1-py3-none-any.whl", hash = "sha256:1e1695454ea759b24beab7dfbeac18964553edca4a4ad0584567aa3eef491f0e"}, + {file = "ansible_compat-24.6.1.tar.gz", hash = "sha256:f93d4c347d8e1903c292449441c09a987d70366f9cadf9afe5e32dc8a0193cac"}, ] [package.dependencies] -ansible-core = ">=2.12" +ansible-core = ">=2.14" jsonschema = ">=4.6.0" packaging = "*" PyYAML = "*" subprocess-tee = ">=0.4.1" [package.extras] -docs = ["argparse-manpage", "black", "mkdocs-ansible[lock] (>=0.1.2)"] -test = ["coverage", "pip-tools", "pytest (>=7.2.0)", "pytest-mock", "pytest-plus"] +docs = ["argparse-manpage", "black", "mkdocs-ansible (>=24.3.1)"] +test = ["coverage", "pip-tools", "pytest (>=7.2.0)", "pytest-mock", "pytest-plus (>=0.6.1)"] [[package]] name = "ansible-core" -version = "2.15.9" +version = "2.17.1" description = "Radically simple IT automation" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ansible-core-2.15.9.tar.gz", hash = "sha256:25f9b1b5a5af3c0986bd3928ed086eaddb867527fb5c83afef1a03cfad34f345"}, - {file = "ansible_core-2.15.9-py3-none-any.whl", hash = "sha256:5b6a4b12aa5358f60933e79d86763e3558862282fb1dc563a29b9999e5849fc3"}, + {file = "ansible_core-2.17.1-py3-none-any.whl", hash = "sha256:aaaccf6a9fe05968821a02079c5ec4c33a7fe5f02d9f5d94f7c3a69f71eab675"}, + {file = "ansible_core-2.17.1.tar.gz", hash = "sha256:46449d71bbd17c3ce85fe379721d88d333fd23637b5c3798e83fae5fa38def00"}, ] [package.dependencies] @@ -56,35 +56,37 @@ resolvelib = ">=0.5.3,<1.1.0" [[package]] name = "ansible-lint" -version = "6.21.1" +version = "24.6.1" description = "Checks playbooks for practices and behavior that could potentially be improved" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ansible-lint-6.21.1.tar.gz", hash = "sha256:05ffc6dfc8f3cbbf56f7f9770b3436fc7909bad5c1d75470efa064531f02df6e"}, - {file = "ansible_lint-6.21.1-py3-none-any.whl", hash = "sha256:5087434a56c0df829fd35cde157aeb61dd6d7077e5d467e7d2a1622f1f543842"}, + {file = "ansible_lint-24.6.1-py3-none-any.whl", hash = "sha256:a86ed91dbdff567ad6a5b374dcb098d5758d4a069eb1d0742048112bb0ef2ef3"}, + {file = "ansible_lint-24.6.1.tar.gz", hash = "sha256:29896d6fcf5a648e79c4119e2789c5217fe1951f3c33384989920fbf523a3198"}, ] [package.dependencies] -ansible-compat = ">=4.1.10" -ansible-core = ">=2.12.0" -black = ">=22.8.0" +ansible-compat = ">=24.5.0dev0" +ansible-core = ">=2.13.0" +black = ">=24.3.0" filelock = ">=3.3.0" +importlib-metadata = "*" jsonschema = ">=4.10.0" packaging = ">=21.3" pathspec = ">=0.10.3" pyyaml = ">=5.4.1" -requests = ">=2.31.0" rich = ">=12.0.0" -"ruamel.yaml" = ">=0.17.0,<0.17.29 || >0.17.29,<0.17.30 || >0.17.30,<0.18" +"ruamel.yaml" = ">=0.18.5" subprocess-tee = ">=0.4.1" -wcmatch = ">=8.1.2" +wcmatch = [ + {version = ">=8.1.2", markers = "python_version < \"3.12\""}, + {version = ">=8.5.0", markers = "python_version >= \"3.12\""}, +] yamllint = ">=1.30.0" [package.extras] -docs = ["mkdocs-ansible[lock] (>=0.2.0)", "pipdeptree (>=2.7.1)"] -lock = ["ansible-compat (==4.1.10)", "ansible-core (==2.15.4)", "attrs (==23.1.0)", "black (==23.9.1)", "bracex (==2.4)", "certifi (==2023.7.22)", "cffi (==1.16.0)", "charset-normalizer (==3.2.0)", "click (==8.1.7)", "cryptography (==41.0.4)", "filelock (==3.12.4)", "idna (==3.4)", "importlib-resources (==5.0.7)", "jinja2 (==3.1.2)", "jsonschema (==4.19.1)", "jsonschema-specifications (==2023.7.1)", "markdown-it-py (==3.0.0)", "markupsafe (==2.1.3)", "mdurl (==0.1.2)", "mypy-extensions (==1.0.0)", "packaging (==23.1)", "pathspec (==0.11.2)", "platformdirs (==3.10.0)", "pycparser (==2.21)", "pygments (==2.16.1)", "pyyaml (==6.0.1)", "referencing (==0.30.2)", "requests (==2.31.0)", "rich (==13.5.3)", "rpds-py (==0.10.3)", "ruamel-yaml (==0.17.33)", "subprocess-tee (==0.4.1)", "tomli (==2.0.1)", "typing-extensions (==4.8.0)", "urllib3 (==2.0.5)", "wcmatch (==8.5)", "yamllint (==1.32.0)"] -test = ["black", "coverage-enable-subprocess", "coverage[toml] (>=6.4.4)", "jmespath", "license-expression (>=30.1.1)", "mypy", "netaddr", "psutil", "pylint", "pytest (>=7.2.2)", "pytest-mock", "pytest-plus (>=0.6)", "pytest-xdist (>=2.1.0)", "ruamel-yaml-clib", "ruamel.yaml (>=0.17.31,<0.18)", "types-jsonschema", "types-pyyaml"] +docs = ["mkdocs-ansible (>=0.2.0)", "pipdeptree (>=2.7.1)"] +test = ["black", "coverage-enable-subprocess", "coverage[toml] (>=6.4.4)", "jmespath", "license-expression (>=30.3.0)", "mypy", "netaddr", "psutil", "pylint", "pytest (>=7.2.2)", "pytest-mock", "pytest-plus (>=0.6)", "pytest-xdist (>=2.1.0)", "ruamel-yaml-clib", "ruamel.yaml (>=0.17.31)", "tox (>=4.0.0)", "types-jsonschema", "types-pyyaml"] [[package]] name = "attrs" @@ -431,37 +433,27 @@ ssh = ["bcrypt (>=3.1.5)"] test = ["certifi", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] -[[package]] -name = "distro" -version = "1.8.0" -description = "Distro - an OS platform information API" -optional = false -python-versions = ">=3.6" -files = [ - {file = "distro-1.8.0-py3-none-any.whl", hash = "sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff"}, - {file = "distro-1.8.0.tar.gz", hash = "sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8"}, -] - [[package]] name = "docker" -version = "6.1.3" +version = "7.1.0" description = "A Python library for the Docker Engine API." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "docker-6.1.3-py3-none-any.whl", hash = "sha256:aecd2277b8bf8e506e484f6ab7aec39abe0038e29fa4a6d3ba86c3fe01844ed9"}, - {file = "docker-6.1.3.tar.gz", hash = "sha256:aa6d17830045ba5ef0168d5eaa34d37beeb113948c413affe1d5991fc11f9a20"}, + {file = "docker-7.1.0-py3-none-any.whl", hash = "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0"}, + {file = "docker-7.1.0.tar.gz", hash = "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c"}, ] [package.dependencies] -packaging = ">=14.0" pywin32 = {version = ">=304", markers = "sys_platform == \"win32\""} requests = ">=2.26.0" urllib3 = ">=1.26.0" -websocket-client = ">=0.32.0" [package.extras] +dev = ["coverage (==7.2.7)", "pytest (==7.4.2)", "pytest-cov (==4.1.0)", "pytest-timeout (==2.1.0)", "ruff (==0.1.8)"] +docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"] ssh = ["paramiko (>=2.4.3)"] +websockets = ["websocket-client (>=1.3.0)"] [[package]] name = "enrich" @@ -507,6 +499,25 @@ files = [ {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, ] +[[package]] +name = "importlib-metadata" +version = "8.0.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +files = [ + {file = "importlib_metadata-8.0.0-py3-none-any.whl", hash = "sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f"}, + {file = "importlib_metadata-8.0.0.tar.gz", hash = "sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812"}, +] + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] + [[package]] name = "jinja2" version = "3.1.4" @@ -665,20 +676,20 @@ files = [ [[package]] name = "molecule" -version = "6.0.2" +version = "24.6.1" description = "Molecule aids in the development and testing of Ansible roles" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "molecule-6.0.2-py3-none-any.whl", hash = "sha256:f4e941017587d6aadf4c75ec55338d16c17ad6119a2f8306cfe7b9e05d49db11"}, - {file = "molecule-6.0.2.tar.gz", hash = "sha256:b919353f799746de60b16a27575627783e39c268fdf2f2aa0372f0162c7b5478"}, + {file = "molecule-24.6.1-py3-none-any.whl", hash = "sha256:d1694cfeea787630105f83cd550c697532824e5efe55e40ac39a0eb11b5a0608"}, + {file = "molecule-24.6.1.tar.gz", hash = "sha256:41c1903a597297c2602bd059e107b5ef2e32c9da24797dcb78ff9873c6615ee6"}, ] [package.dependencies] -ansible-compat = ">=4.1.8" +ansible-compat = ">=24.6.1" ansible-core = ">=2.12.10" click = ">=8.0,<9" -click-help-colors = ">=0.9" +click-help-colors = "*" enrich = ">=1.2.7" Jinja2 = ">=2.11.3" jsonschema = ">=4.9.1" @@ -689,31 +700,30 @@ rich = ">=9.5.1" wcmatch = ">=8.1.2" [package.extras] -docs = ["linkchecker", "mkdocs-ansible[lock] (>=0.1.4)", "pipdeptree (>=2.4.0)"] -test = ["ansi2html (>=1.8.0)", "ansible-lint (>=6.12.1)", "check-jsonschema", "coverage (>=7.0.3)", "filelock (>=3.9.0)", "pexpect (>=4.8.0,<5)", "pytest (>=7.2.0)", "pytest-mock (>=3.10.0)", "pytest-plus (>=0.4.0)", "pytest-xdist (>=3.1.0)"] +docs = ["linkchecker (>=10.4.0)", "mkdocs-ansible (>=24.3.0)", "pipdeptree (>=2.4.0)"] +test = ["ansi2html (>=1.8.0)", "ansible-lint (>=6.12.1)", "black", "check-jsonschema", "coverage[toml]", "filelock (>=3.9.0)", "mypy", "pexpect (>=4.8.0,<5)", "pip-tools", "pre-commit", "pydoclint", "pylint", "pytest", "pytest-mock (>=3.10.0)", "pytest-plus (>=0.4.0)", "pytest-xdist", "requests (!=2.32.0)", "ruff", "toml-sort", "tox", "types-jsonschema", "types-pexpect", "types-pyyaml"] testinfra = ["pytest-testinfra (>=8.1.0)"] [[package]] -name = "molecule-docker" -version = "2.1.0" -description = "Molecule aids in the development and testing of Ansible roles" +name = "molecule-plugins" +version = "23.5.3" +description = "Molecule Plugins" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "molecule-docker-2.1.0.tar.gz", hash = "sha256:195b97673cbc2335cfa6810816de5cbf807507bf350a9d16ca98b224b1647145"}, - {file = "molecule_docker-2.1.0-py3-none-any.whl", hash = "sha256:d439b075789be700b6594ed73f3254e2a25ed61dcf312d80ab6e718d13bf150e"}, + {file = "molecule-plugins-23.5.3.tar.gz", hash = "sha256:a2b1437d532d736e3fbc6db7a69ec533e2334b2115ff9245a0b2772ed9738d23"}, + {file = "molecule_plugins-23.5.3-py3-none-any.whl", hash = "sha256:87f8ac8d5e9fe1cbdfb784d92b1fd08e7cb11bf02a9391bb34dcb93fadf7a3fc"}, ] [package.dependencies] -docker = ">=4.3.1" -molecule = ">=4.0.0" -requests = "*" -selinux = {version = "*", markers = "sys_platform == \"linux\" or sys_platform == \"linux2\""} +molecule = ">=6.0.0a1" [package.extras] -docs = ["Sphinx", "simplejson", "sphinx-ansible-theme (>=0.2.2)"] -lint = ["pre-commit (>=1.21.0)"] -test = ["molecule[test]"] +docker = ["docker (>=4.3.1)", "requests", "selinux", "selinux"] +openstack = ["openstacksdk (>=1.1.0)"] +selinux = ["selinux", "selinux"] +test = ["molecule[test] (>=6.0.0a1)", "pytest-helpers-namespace (>=2019.1.8)"] +vagrant = ["python-vagrant"] [[package]] name = "mypy-extensions" @@ -728,15 +738,18 @@ files = [ [[package]] name = "netaddr" -version = "0.9.0" +version = "1.3.0" description = "A network address manipulation library for Python" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "netaddr-0.9.0-py3-none-any.whl", hash = "sha256:5148b1055679d2a1ec070c521b7db82137887fabd6d7e37f5199b44f775c3bb1"}, - {file = "netaddr-0.9.0.tar.gz", hash = "sha256:7b46fa9b1a2d71fd5de9e4a3784ef339700a53a08c8040f08baf5f1194da0128"}, + {file = "netaddr-1.3.0-py3-none-any.whl", hash = "sha256:c2c6a8ebe5554ce33b7d5b3a306b71bbb373e000bbbf2350dd5213cc56e3dbbe"}, + {file = "netaddr-1.3.0.tar.gz", hash = "sha256:5c3c3d9895b551b763779ba7db7a03487dc1f8e3b385af819af341ae9ef6e48a"}, ] +[package.extras] +nicer-shell = ["ipython"] + [[package]] name = "packaging" version = "23.2" @@ -862,7 +875,6 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -1078,13 +1090,13 @@ files = [ [[package]] name = "ruamel-yaml" -version = "0.17.40" +version = "0.18.6" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" optional = false -python-versions = ">=3" +python-versions = ">=3.7" files = [ - {file = "ruamel.yaml-0.17.40-py3-none-any.whl", hash = "sha256:b16b6c3816dff0a93dca12acf5e70afd089fa5acb80604afd1ffa8b465b7722c"}, - {file = "ruamel.yaml-0.17.40.tar.gz", hash = "sha256:6024b986f06765d482b5b07e086cc4b4cd05dd22ddcbc758fa23d54873cf313d"}, + {file = "ruamel.yaml-0.18.6-py3-none-any.whl", hash = "sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636"}, + {file = "ruamel.yaml-0.18.6.tar.gz", hash = "sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"}, ] [package.dependencies] @@ -1153,20 +1165,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"}, ] -[[package]] -name = "selinux" -version = "0.3.0" -description = "shim selinux module" -optional = false -python-versions = ">=3.9" -files = [ - {file = "selinux-0.3.0-py2.py3-none-any.whl", hash = "sha256:ecf7add45c939e9dda682c390a2cd0a845c94a4793a2cce9e8870d4ee9501f99"}, - {file = "selinux-0.3.0.tar.gz", hash = "sha256:2a88b337ac46ad0f06f557b2806c3df62421972f766673dd8bf26732fb75a9ea"}, -] - -[package.dependencies] -distro = ">=1.3.0" - [[package]] name = "subprocess-tee" version = "0.4.1" @@ -1235,40 +1233,39 @@ files = [ bracex = ">=2.1.1" [[package]] -name = "websocket-client" -version = "1.6.4" -description = "WebSocket client for Python with low level API options" +name = "yamllint" +version = "1.35.1" +description = "A linter for YAML files." optional = false python-versions = ">=3.8" files = [ - {file = "websocket-client-1.6.4.tar.gz", hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"}, - {file = "websocket_client-1.6.4-py3-none-any.whl", hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24"}, + {file = "yamllint-1.35.1-py3-none-any.whl", hash = "sha256:2e16e504bb129ff515b37823b472750b36b6de07963bd74b307341ef5ad8bdc3"}, + {file = "yamllint-1.35.1.tar.gz", hash = "sha256:7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd"}, ] +[package.dependencies] +pathspec = ">=0.5.3" +pyyaml = "*" + [package.extras] -docs = ["Sphinx (>=6.0)", "sphinx-rtd-theme (>=1.1.0)"] -optional = ["python-socks", "wsaccel"] -test = ["websockets"] +dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] -name = "yamllint" -version = "1.32.0" -description = "A linter for YAML files." +name = "zipp" +version = "3.19.2" +description = "Backport of pathlib-compatible object wrapper for zip files" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "yamllint-1.32.0-py3-none-any.whl", hash = "sha256:d97a66e48da820829d96077d76b8dfbe6c6140f106e558dae87e81ac4e6b30b7"}, - {file = "yamllint-1.32.0.tar.gz", hash = "sha256:d01dde008c65de5b235188ab3110bebc59d18e5c65fc8a58267cd211cd9df34a"}, + {file = "zipp-3.19.2-py3-none-any.whl", hash = "sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c"}, + {file = "zipp-3.19.2.tar.gz", hash = "sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19"}, ] -[package.dependencies] -pathspec = ">=0.5.3" -pyyaml = "*" - [package.extras] -dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "3082ea92145a9749ec59746a270cdedd3668943f8144527872699385061204fb" +content-hash = "d270367b5f6ef4a5d476ea5434f86d8f15a7609ec5da66ee6449e83350b5fb8a" diff --git a/pyproject.toml b/pyproject.toml index e8957c6..ec22dd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,12 +9,13 @@ readme = "README.md" python = "^3.10" [tool.poetry.group.dev.dependencies] -ansible = "^8.5.0" -ansible-lint = { version = "^6.21.1", markers = "platform_system != 'Windows'" } -yamllint = "^1.32.0" -netaddr = "^0.9.0" -molecule-docker = "^2.1.0" -molecule = "^6.0.2" +ansible-lint = { version = "^24.6.1", markers = "platform_system != 'Windows'" } +ansible = "^10.1.0" +molecule = "^24.6.1" +molecule-plugins = "^23.5.3" +yamllint = "^1.35.1" +netaddr = "^1.3.0" +docker = "^7.1.0" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/tasks/main.yml b/tasks/main.yml index a91c052..180db78 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -35,7 +35,7 @@ path: "{{ item }}" state: directory group: "{{ acme_certificate_group }}" - mode: 0755 + mode: "u=rwx,go=rx" loop: - "{{ acme_certificate_certdir }}" - "{{ acme_certificate_keydir }}" @@ -45,14 +45,14 @@ path: "{{ acme_certificate_account_keyfile }}" owner: root group: "{{ acme_certificate_group }}" - mode: 0640 + mode: "u=rw,g=r,o=" - name: Create domain key community.crypto.openssl_privatekey: path: "{{ _acme_certificate_domain_keyfile }}" owner: root group: "{{ acme_certificate_group }}" - mode: 0640 + mode: "u=rw,g=r,o=" - name: Create csr community.crypto.openssl_csr: @@ -117,13 +117,13 @@ ansible.builtin.get_url: url: "{{ acme_certificate_caurl }}" dest: "{{ acme_certificate_certdir }}/{{ _acme_certificate_cafile }}" - mode: 0644 + mode: "u=rw,go=r" - name: Retrieve acme intermediate ca file ansible.builtin.get_url: url: "{{ acme_certificate_intcaurl }}" dest: "{{ acme_certificate_certdir }}/{{ _acme_certificate_intcafile }}" - mode: 0644 + mode: "u=rw,go=r" - name: Configure local certificate chain when: acme_certificate_add_ca @@ -137,7 +137,7 @@ ansible.builtin.file: state: directory dest: "{{ acme_certificate_storedir }}" - mode: 0755 + mode: "u=rwx,go=rx" when: not _storedir_query.stat.exists - name: Copy acme root ca file to trust store