The docker container seems to not come up with a working trustymail setup:
++ pwd
+ docker run --rm -it --name trustymail -v /home/floh/trustymail:/app trustymail/cli example.com
Traceback (most recent call last):
File "/usr/local/bin/trustymail", line 4, in <module>
__import__('pkg_resources').require('trustymail==0.7.5')
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3257, in <module>
def _initialize_master_working_set():
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 582, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 899, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 785, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'trustymail==0.7.5' distribution was not found and is required by the application
Last working version
Worked up to version: I don't know but must have been fine earlier.
Stopped working in version:
To Reproduce
Steps to reproduce the behavior:
181 git clone https://github.com/cisagov/trustymail.git
182 cd trustymail/
183 ls
184 ./run example.com
Expected behavior
container builds, runs trustymail
Any helpful log output
Paste the results here:
floh@blackbox:~/trustymail$ ./run example.com
+ docker build -t trustymail/cli .
Sending build context to Docker daemon 562.7kB
Step 1/8 : FROM python:3
3: Pulling from library/python
d6ff36c9ec48: Pull complete
c958d65b3090: Pull complete
edaf0a6b092f: Pull complete
80931cf68816: Pull complete
bc1b8aca3825: Pull complete
edfe96a4dd20: Pull complete
4e7c0e94bdeb: Pull complete
8dffdfc294e3: Pull complete
036c588c629e: Pull complete
Digest: sha256:2c1045587e4452d49544c6dce92efe21c3b4b33864cfb56fdee66a2c8585c769
Status: Downloaded newer image for python:3
---> 79cc46abd78d
Step 2/8 : WORKDIR /app
---> Running in c44b33a8ada4
Removing intermediate container c44b33a8ada4
---> 89d0de93c5a1
Step 3/8 : COPY requirements.txt requirements.txt
---> a6a84fd0c998
Step 4/8 : RUN pip install --no-cache-dir -r requirements.txt
---> Running in 3c50c9e9c987
Collecting dnspython>=1.15.0
Downloading dnspython-2.0.0-py3-none-any.whl (208 kB)
Collecting docopt>=0.6.2
Downloading docopt-0.6.2.tar.gz (25 kB)
Collecting publicsuffix>=1.1.0
Downloading publicsuffix-1.1.1.tar.gz (66 kB)
Collecting py3dns>=3.1.0
Downloading py3dns-3.2.1.tar.gz (30 kB)
Collecting pyspf==2.0.11
Downloading pyspf-2.0.11.tar.gz (63 kB)
Collecting requests>=2.18.4
Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
Collecting chardet<4,>=3.0.2
Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
Collecting idna<3,>=2.5
Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
Collecting certifi>=2017.4.17
Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
Building wheels for collected packages: docopt, publicsuffix, py3dns, pyspf
Building wheel for docopt (setup.py): started
Building wheel for docopt (setup.py): finished with status 'done'
Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13704 sha256=9090593914e75a2c45972939e1c533ca1b5f65013f4645cf3ab97a820f281c9f
Stored in directory: /tmp/pip-ephem-wheel-cache-ya52_v_2/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c
Building wheel for publicsuffix (setup.py): started
Building wheel for publicsuffix (setup.py): finished with status 'done'
Created wheel for publicsuffix: filename=publicsuffix-1.1.1-py3-none-any.whl size=64131 sha256=fa167724cafdb0a41cf3a7cbc767b3f281e8b7b0e28cd5e09f77f3626715b986
Stored in directory: /tmp/pip-ephem-wheel-cache-ya52_v_2/wheels/db/36/40/38c901aec542f38197f630f6a76c9432dbff8b469505e85ad1
Building wheel for py3dns (setup.py): started
Building wheel for py3dns (setup.py): finished with status 'done'
Created wheel for py3dns: filename=py3dns-3.2.1-py3-none-any.whl size=20839 sha256=9a57d2cd738437d96866552c1ee0db2abe7535843426655367a91b7908736d55
Stored in directory: /tmp/pip-ephem-wheel-cache-ya52_v_2/wheels/04/6c/59/20cadeb949daa0f469951136be59a742cef8de62cef2e8d288
Building wheel for pyspf (setup.py): started
Building wheel for pyspf (setup.py): finished with status 'done'
Created wheel for pyspf: filename=pyspf-2.0.11-py3-none-any.whl size=25651 sha256=1cede736d23f6e29d6cfc5dbcb56114e23c3b61e9c765df688762045c27dcfe6
Stored in directory: /tmp/pip-ephem-wheel-cache-ya52_v_2/wheels/85/cc/60/b2ed814171b4a26023f5a92d162b0a722e6cfb92cf4a45d6b7
Successfully built docopt publicsuffix py3dns pyspf
Installing collected packages: dnspython, docopt, publicsuffix, py3dns, pyspf, chardet, urllib3, idna, certifi, requests
Successfully installed certifi-2020.6.20 chardet-3.0.4 dnspython-2.0.0 docopt-0.6.2 idna-2.10 publicsuffix-1.1.1 py3dns-3.2.1 pyspf-2.0.11 requests-2.24.0 urllib3-1.25.10
Removing intermediate container 3c50c9e9c987
---> 3436cccd9d0b
Step 5/8 : COPY . .
---> 2f3fff23e886
Step 6/8 : RUN pip install --editable .
---> Running in 298ef1f379ef
Obtaining file:///app
Requirement already satisfied: dnspython>=1.15.0 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (2.0.0)
Requirement already satisfied: docopt>=0.6.2 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (0.6.2)
Requirement already satisfied: publicsuffix>=1.1.0 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (1.1.1)
Requirement already satisfied: py3dns>=3.1.0 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (3.2.1)
Requirement already satisfied: pyspf==2.0.11 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (2.0.11)
Requirement already satisfied: requests>=2.18.4 in /usr/local/lib/python3.8/site-packages (from trustymail==0.7.5) (2.24.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.8/site-packages (from requests>=2.18.4->trustymail==0.7.5) (1.25.10)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/site-packages (from requests>=2.18.4->trustymail==0.7.5) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/site-packages (from requests>=2.18.4->trustymail==0.7.5) (2020.6.20)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.8/site-packages (from requests>=2.18.4->trustymail==0.7.5) (3.0.4)
Installing collected packages: trustymail
Running setup.py develop for trustymail
Successfully installed trustymail
Removing intermediate container 298ef1f379ef
---> 103355f40b74
Step 7/8 : ENTRYPOINT ["trustymail"]
---> Running in 61c998c008af
Removing intermediate container 61c998c008af
---> d26508ef6a83
Step 8/8 : CMD ["--help"]
---> Running in cbf46e727fd4
Removing intermediate container cbf46e727fd4
---> bf8f65ba155f
Successfully built bf8f65ba155f
Successfully tagged trustymail/cli:latest
++ pwd
+ docker run --rm -it --name trustymail -v /home/floh/trustymail:/app trustymail/cli example.com
Traceback (most recent call last):
File "/usr/local/bin/trustymail", line 4, in <module>
__import__('pkg_resources').require('trustymail==0.7.5')
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3257, in <module>
def _initialize_master_working_set():
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
f(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 582, in _build_master
ws.require(__requires__)
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 899, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 785, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'trustymail==0.7.5' distribution was not found and is required by the application
💥 Regression Report
The docker container seems to not come up with a working trustymail setup:
Last working version
Worked up to version: I don't know but must have been fine earlier.
Stopped working in version:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
container builds, runs trustymail
Any helpful log output
Paste the results here: