diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c29eaee..2e55f2c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -32,55 +32,3 @@ jobs: docker push quay.io/mynth/docker-vault-cli:$TAG docker push quay.io/mynth/docker-vault-cli:latest if: github.ref == 'refs/heads/main' - - publish-arm: - runs-on: ubuntu-22.04-arm - timeout-minutes: 10 - steps: - - name: Login to Quay.io - uses: docker/login-action@v2 - with: - registry: quay.io - username: ${{ secrets.QUAY_ID }} - password: ${{ secrets.QUAY_PW }} - - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Build docker-vault-cli container - run: docker build --platform linux/arm64 -t docker-vault-cli -f arm64.Dockerfile . - - - name: Publish container - run: | - TAG=$(git rev-parse --short HEAD) - docker tag docker-vault-cli quay.io/mynth/docker-vault-cli:arm-$TAG - docker tag docker-vault-cli quay.io/mynth/docker-vault-cli:arm-latest - docker push quay.io/mynth/docker-vault-cli:arm-$TAG - docker push quay.io/mynth/docker-vault-cli:arm-latest - if: github.ref == 'refs/heads/main' - - publish-python: - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - name: Login to Quay.io - uses: docker/login-action@v2 - with: - registry: quay.io - username: ${{ secrets.QUAY_ID }} - password: ${{ secrets.QUAY_PW }} - - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Build docker-vault-cli container - run: docker build -f Python.dockerfile -t docker-vault-cli . - - - name: Publish container - run: | - TAG=$(git rev-parse --short HEAD) - docker tag docker-vault-cli quay.io/mynth/docker-vault-cli:python-$TAG - docker tag docker-vault-cli quay.io/mynth/docker-vault-cli:python - docker push quay.io/mynth/docker-vault-cli:python-$TAG - docker push quay.io/mynth/docker-vault-cli:python - if: github.ref == 'refs/heads/main' diff --git a/Dockerfile b/Dockerfile index 6d8c928..6c9fb3c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,36 @@ -FROM quay.io/mynth/python:dev as builder +FROM ubuntu:24.04 AS builder -# Install dependencies -USER root -# hadolint ignore=DL3008,DL3015 +# Install Python +# hadolint ignore=DL3008 RUN apt-get update -qq && \ - apt-get install -y binutils python3.12-dev -USER monty -COPY poetry.lock pyproject.toml /app/ -RUN install-poetry-app src && \ - poetry install --with=dev + apt-get install -y --no-install-recommends \ + binutils python3.12 python3.12-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* && \ + ln -s /usr/bin/python3 /usr/bin/python +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONFAULTHANDLER=1 +ENV PATH=/app/.venv/bin:$PATH -# Build vault-cli -COPY src /app/src -RUN poe build:vault-cli +# Install poetry +# hadolint ignore=DL3008,DL3009 +RUN apt-get update -qq && \ + apt-get install -y --no-install-recommends \ + python3.12-venv && \ + python3.12 -m venv /opt/poetry && \ + /opt/poetry/bin/pip install poetry && \ + ln -s /opt/poetry/bin/poetry /usr/local/bin/poetry +WORKDIR /app +RUN poetry config virtualenvs.in-project true -# Save binary -USER root -RUN mv dist/vault-cli /usr/local/bin/ -USER monty +# Install vault-cli app +COPY poetry.lock pyproject.toml /app/ +COPY src /app/src +RUN poetry install --with=dev && \ + poe build:vault-cli && \ + mv dist/vault-cli /usr/local/bin/ # Create final image with vault-cli binary FROM ubuntu:24.04 diff --git a/LICENSE b/LICENSE index af2c8d7..5dbcbe4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Mynth +Copyright (c) 2023-2025 Mynth Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Python.dockerfile b/Python.dockerfile deleted file mode 100644 index a60e589..0000000 --- a/Python.dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM quay.io/mynth/python:dev as builder - -# Install dependencies -COPY poetry.lock pyproject.toml /app/ -RUN install-poetry-app src - -# Save vault-cli file structure -# hadolint ignore=DL3003 -RUN mkdir -p dist/usr/local/bin && \ - mkdir dist/usr/local/src && \ - cp -r .venv dist/usr/local/src/vault-cli && \ - cd dist/usr/local/bin && \ - ln -s ../src/vault-cli/bin/vault-cli vault-cli && \ - sed -i '1c\#!/usr/local/src/vault-cli/bin/python' \ - ../src/vault-cli/bin/vault-cli - -# Create final image with vault-cli installed -FROM quay.io/mynth/python:base -COPY --from=builder /app/dist / -COPY --from=builder /app/dist /dist diff --git a/README.md b/README.md index 38be904..291756a 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,17 @@ # Docker vault-cli -This repository contains Docker images for vault-cli, [a 12-factor -oriented command line tool for Hashicorp -Vault](https://vault-cli.readthedocs.io/en/latest/). The images are -hosted on `quay.io/mynth/docker-vault-cli`. - -## Versions - -Two versions are available: - -1. Standalone: Can be used in any container. -2. Python: Can be used in containers with Python installed. +This repository contains a Linux-based Docker image for `vault-cli`, [a +12-factor oriented command line tool for Hashicorp +Vault](https://vault-cli.readthedocs.io/en/latest/). The image is hosted +on `quay.io/mynth/docker-vault-cli`. ## Usage -For the standalone version, use: `quay.io/mynth/docker-vault-cli`. - -For the Python version, use: `quay.io/mynth/docker-vault-cli:python`. - -## Installation - -For Python containers, add the following to your Dockerfile: +`vault-cli` is available as a standalone binary in +`quay.io/mynth/docker-vault-cli`. - COPY --from=quay.io/mynth/docker-vault-cli:python /dist / +## Installation into Another Container -For other containers, add: +Add the following to your Dockerfile: COPY --from=quay.io/mynth/docker-vault-cli /usr/local/bin/vault-cli /usr/local/bin/vault-cli diff --git a/arm64.Dockerfile b/arm64.Dockerfile deleted file mode 100644 index a0da546..0000000 --- a/arm64.Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM quay.io/mynth/python:dev-arm as builder - -# Install dependencies -USER root -# hadolint ignore=DL3008,DL3015 -RUN apt-get update -qq && \ - apt-get install -y binutils python3.12-dev -USER monty -COPY poetry.lock pyproject.toml /app/ -RUN install-poetry-app src && \ - poetry install --with=dev - -# Build vault-cli -COPY src /app/src -RUN poe build:vault-cli - -# Save binary -USER root -RUN mv dist/vault-cli /usr/local/bin/ -USER monty - -# Create final image with vault-cli binary -FROM ubuntu:24.04 -COPY --from=builder /usr/local/bin/vault-cli /usr/local/bin/vault-cli diff --git a/poetry.lock b/poetry.lock index 4278b4e..38acbee 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,33 +13,33 @@ files = [ [[package]] name = "black" -version = "23.12.1" +version = "25.1.0" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, - {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, - {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, - {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, - {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, - {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, - {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, - {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, - {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, - {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, - {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, - {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, - {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, - {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, - {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, - {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, - {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, - {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, - {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, - {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, - {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, - {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, + {file = "black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32"}, + {file = "black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da"}, + {file = "black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7"}, + {file = "black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9"}, + {file = "black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0"}, + {file = "black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299"}, + {file = "black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096"}, + {file = "black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2"}, + {file = "black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b"}, + {file = "black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc"}, + {file = "black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f"}, + {file = "black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba"}, + {file = "black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f"}, + {file = "black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3"}, + {file = "black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171"}, + {file = "black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18"}, + {file = "black-25.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a1ee0a0c330f7b5130ce0caed9936a904793576ef4d2b98c40835d6a65afa6a0"}, + {file = "black-25.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f3df5f1bf91d36002b0a75389ca8663510cf0531cca8aa5c1ef695b46d98655f"}, + {file = "black-25.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6827d563a2c820772b32ce8a42828dc6790f095f441beef18f96aa6f8294e"}, + {file = "black-25.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:bacabb307dca5ebaf9c118d2d2f6903da0d62c9faa82bd21a33eecc319559355"}, + {file = "black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717"}, + {file = "black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666"}, ] [package.dependencies] @@ -53,7 +53,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -196,19 +196,19 @@ files = [ [[package]] name = "flake8" -version = "6.1.0" +version = "7.1.2" description = "the modular source code checker: pep8 pyflakes and co" optional = false python-versions = ">=3.8.1" files = [ - {file = "flake8-6.1.0-py2.py3-none-any.whl", hash = "sha256:ffdfce58ea94c6580c77888a86506937f9a1a227dfcd15f245d694ae20a6b6e5"}, - {file = "flake8-6.1.0.tar.gz", hash = "sha256:d5b3857f07c030bdb5bf41c7f53799571d75c4491748a3adcd47de929e34cd23"}, + {file = "flake8-7.1.2-py2.py3-none-any.whl", hash = "sha256:1cbc62e65536f65e6d754dfe6f1bada7f5cf392d6f5db3c2b85892466c3e7c1a"}, + {file = "flake8-7.1.2.tar.gz", hash = "sha256:c586ffd0b41540951ae41af572e6790dbd49fc12b3aa2541685d253d9bd504bd"}, ] [package.dependencies] mccabe = ">=0.7.0,<0.8.0" -pycodestyle = ">=2.11.0,<2.12.0" -pyflakes = ">=3.1.0,<3.2.0" +pycodestyle = ">=2.12.0,<2.13.0" +pyflakes = ">=3.2.0,<3.3.0" [[package]] name = "hvac" @@ -244,17 +244,18 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "isort" -version = "5.13.2" +version = "6.0.0" description = "A Python utility / library to sort Python imports." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, + {file = "isort-6.0.0-py3-none-any.whl", hash = "sha256:567954102bb47bb12e0fae62606570faacddd441e45683968c8d1734fb1af892"}, + {file = "isort-6.0.0.tar.gz", hash = "sha256:75d9d8a1438a9432a7d7b54f2d3b45cad9a4a0fdba43617d9873379704a8bdf1"}, ] [package.extras] -colors = ["colorama (>=0.4.6)"] +colors = ["colorama"] +plugins = ["setuptools"] [[package]] name = "jinja2" @@ -494,42 +495,43 @@ type = ["mypy (>=1.11.2)"] [[package]] name = "poethepoet" -version = "0.22.1" +version = "0.32.2" description = "A task runner that works well with poetry." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "poethepoet-0.22.1-py3-none-any.whl", hash = "sha256:1da4cd00d3b2c44b811c91616a744cf71094a26a299ea9956025162d34eef1a5"}, - {file = "poethepoet-0.22.1.tar.gz", hash = "sha256:e758bcac731fa9ac0b812389589541e32b825c4a1894e16fa90aeb1946ba2823"}, + {file = "poethepoet-0.32.2-py3-none-any.whl", hash = "sha256:97e165de8e00b07d33fd8d72896fad8b20ccafcd327b1118bb6a3da26af38d33"}, + {file = "poethepoet-0.32.2.tar.gz", hash = "sha256:1d68871dac1b191e27bd68fea57d0e01e9afbba3fcd01dbe6f6bc3fcb071fe4c"}, ] [package.dependencies] pastel = ">=0.2.1,<0.3.0" -tomli = ">=1.2.2" +pyyaml = ">=6.0.2,<7.0" +tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} [package.extras] -poetry-plugin = ["poetry (>=1.0,<2.0)"] +poetry-plugin = ["poetry (>=1.2.0,<3.0.0)"] [[package]] name = "pycodestyle" -version = "2.11.1" +version = "2.12.1" description = "Python style guide checker" optional = false python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, - {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, + {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, + {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, ] [[package]] name = "pyflakes" -version = "3.1.0" +version = "3.2.0" description = "passive checker of Python programs" optional = false python-versions = ">=3.8" files = [ - {file = "pyflakes-3.1.0-py2.py3-none-any.whl", hash = "sha256:4132f6d49cb4dae6819e5379898f2b8cce3c5f23994194c24b77d5da2e36f774"}, - {file = "pyflakes-3.1.0.tar.gz", hash = "sha256:a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"}, + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, ] [[package]] @@ -804,4 +806,4 @@ testing = ["pytest"] [metadata] lock-version = "2.0" python-versions = ">=3.10,<3.13" -content-hash = "86cace670cc8be6c3e13409899ae553464206e97d9da4365c57928627c99fcf7" +content-hash = "a0aced107ad561a0d3fb1b9d8627b466dca06c1041c498d8bee1ecc7ed1b8dd5" diff --git a/pyproject.toml b/pyproject.toml index 64701cd..a51407b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,9 +8,7 @@ packages = [{include = "src"}] [tool.poe.tasks] "build:vault-cli" = "pyinstaller src/vault-cli.py --name vault-cli --onefile" "build:docker" = "docker build -t quay.io/mynth/docker-vault-cli ." -"build:docker-python" = "docker build -f Python.dockerfile -t quay.io/mynth/docker-vault-cli:python ." run = "docker run quay.io/mynth/docker-vault-cli vault-cli --help" -"run:docker-python" = "docker run quay.io/mynth/docker-vault-cli:python vault-cli --help" isort = "isort ." "isort:check" = "isort -c ." black = "black ." @@ -25,11 +23,11 @@ python = ">=3.10,<3.13" vault-cli = "^3.1.0" [tool.poetry.group.dev.dependencies] -black = "^23.7.0" -flake8 = "^6.1.0" -isort = "^5.12.0" -mypy = "^1.5.1" -poethepoet = "^0.22.1" +black = "^25.1.0" +flake8 = "^7.1.2" +isort = "^6.0.0" +mypy = "^1.15.0" +poethepoet = "^0.32.2" pyinstaller = "^6.12.0" [build-system]