Skip to content

Commit 3ee7c86

Browse files
authored
Fixes sidecar reqs (#1827)
* Fixes sidecar reqs * Separated requirement lists in sidecar * Installs all 3rd parties in build stage
1 parent b138a1b commit 3ee7c86

File tree

9 files changed

+90
-20
lines changed

9 files changed

+90
-20
lines changed

services/sidecar/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,9 @@ COPY --chown=scu:scu services/sidecar /build/services/sidecar
7878
COPY --chown=scu:scu services/storage/client-sdk /build/services/storage/client-sdk
7979

8080
# install base 3rd party dependencies (NOTE: this speeds up devel mode)
81-
RUN pip --no-cache-dir install -r /build/services/sidecar/requirements/_base.txt
81+
RUN pip --no-cache-dir install \
82+
-r /build/services/sidecar/requirements/_base.txt \
83+
-r /build/services/sidecar/requirements/_packages.txt
8284

8385
# --------------------------Cache stage -------------------
8486
# CI in master buils & pushes this target to speed-up image build

services/sidecar/requirements/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
include ../../../scripts/requirements.Makefile
55

66
# Add here any extra explicit dependency: e.g. _migration.txt: _base.txt
7+
8+
_packages.txt: _base.txt

services/sidecar/requirements/_base.in

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,25 @@
22
# Specifies third-party dependencies for 'sidecar'
33
#
44

5+
# intra-repo packages CONSTRAINTS
6+
# - Input-requirements on intra-repo packages are tested using latest updates
7+
# - Added as constraints instead of requirements in order to avoid polluting base.txt
8+
# - Will be installed when prod.txt or dev.txt
9+
#
10+
-c ../../../packages/postgres-database/requirements/_base.in
11+
-c ../../../packages/s3wrapper/requirements/_base.in
12+
-c ../../../packages/service-library/requirements/_base.in
13+
#
14+
15+
516
urllib3>=1.25.8 # Vulnerability
617
aiofile
718
aio-pika
819
aiodocker
920
aiofiles
1021
aiopg
1122
click
12-
sqlalchemy>=1.3.3 # https://nvd.nist.gov/vuln/detail/CVE-2019-7164
23+
sqlalchemy[postgresql_psycopg2binary]>=1.3.3 # https://nvd.nist.gov/vuln/detail/CVE-2019-7164
1324

1425
celery[redis]
1526
networkx

services/sidecar/requirements/_base.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ aio-pika==6.7.0 # via -r requirements/_base.in
88
aiodocker==0.19.1 # via -r requirements/_base.in
99
aiofile==3.1.0 # via -r requirements/_base.in
1010
aiofiles==0.5.0 # via -r requirements/_base.in
11-
aiohttp==3.6.2 # via aiodocker
12-
aiopg==1.0.0 # via -r requirements/_base.in
11+
aiohttp==3.6.2 # via -c requirements/../../../packages/service-library/requirements/_base.in, aiodocker
12+
aiopg[sa]==1.0.0 # via -c requirements/../../../packages/service-library/requirements/_base.in, -r requirements/_base.in
1313
aioredis==1.3.1 # via aioredlock
1414
aioredlock==0.5.2 # via -r requirements/_base.in
1515
aiormq==3.2.3 # via aio-pika
1616
amqp==2.6.1 # via kombu
1717
async-timeout==3.0.1 # via aiohttp, aioredis
18-
attrs==20.2.0 # via aiohttp, aioredlock
18+
attrs==19.3.0 # via -c requirements/../../../packages/service-library/requirements/_base.in, aiohttp, aioredlock
1919
billiard==3.6.3.0 # via celery
2020
caio==0.6.1 # via aiofile
2121
celery[redis]==4.4.7 # via -r requirements/_base.in
@@ -26,22 +26,22 @@ decorator==4.4.2 # via networkx
2626
hiredis==1.1.0 # via aioredis
2727
idna-ssl==1.1.0 # via aiohttp
2828
idna==2.10 # via idna-ssl, yarl
29-
importlib-metadata==1.7.0 # via kombu
29+
importlib-metadata==2.0.0 # via kombu
3030
kombu==4.6.11 # via celery
3131
multidict==4.7.6 # via aiohttp, yarl
3232
networkx==2.5 # via -r requirements/_base.in
3333
packaging==20.4 # via -r requirements/_base.in
3434
pamqp==2.3.0 # via aiormq
35-
psycopg2-binary==2.8.6 # via aiopg
35+
psycopg2-binary==2.8.6 # via -c requirements/../../../packages/service-library/requirements/_base.in, aiopg, sqlalchemy
3636
pydantic==1.6.1 # via -r requirements/_base.in
3737
pyparsing==2.4.7 # via packaging
3838
pytz==2020.1 # via celery
3939
redis==3.5.3 # via celery
4040
six==1.15.0 # via packaging, tenacity
41-
sqlalchemy==1.3.19 # via -r requirements/_base.in
42-
tenacity==6.2.0 # via -r requirements/_base.in
41+
sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -c requirements/../../../packages/postgres-database/requirements/_base.in, -c requirements/../../../packages/service-library/requirements/_base.in, -r requirements/_base.in, aiopg
42+
tenacity==6.2.0 # via -c requirements/../../../packages/service-library/requirements/_base.in, -r requirements/_base.in
4343
typing-extensions==3.7.4.3 # via aiodocker, aiohttp, yarl
44-
urllib3==1.25.10 # via -r requirements/_base.in
44+
urllib3==1.25.10 # via -c requirements/../../../packages/s3wrapper/requirements/_base.in, -r requirements/_base.in
4545
vine==1.3.0 # via amqp, celery
46-
yarl==1.5.1 # via aio-pika, aiohttp, aiormq
47-
zipp==3.1.0 # via importlib-metadata
46+
yarl==1.5.1 # via -c requirements/../../../packages/postgres-database/requirements/_base.in, aio-pika, aiohttp, aiormq
47+
zipp==3.2.0 # via importlib-metadata
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#
2+
# Adds intra-repo packages requirements
3+
#
4+
-c _base.txt
5+
6+
-r ../../../packages/postgres-database/requirements/_base.in
7+
-r ../../../packages/s3wrapper/requirements/_base.in
8+
-r ../../../packages/service-library/requirements/_base.in
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#
2+
# This file is autogenerated by pip-compile
3+
# To update, run:
4+
#
5+
# pip-compile --output-file=requirements/_packages.txt requirements/_packages.in
6+
#
7+
aiodebug==1.1.2 # via -r requirements/../../../packages/service-library/requirements/_base.in
8+
aiohttp==3.6.2 # via -c requirements/_base.txt, -r requirements/../../../packages/service-library/requirements/_base.in, aiozipkin
9+
aiopg[sa]==1.0.0 # via -c requirements/_base.txt, -r requirements/../../../packages/service-library/requirements/_base.in
10+
aiozipkin==0.7.1 # via -r requirements/../../../packages/service-library/requirements/_base.in
11+
async-timeout==3.0.1 # via -c requirements/_base.txt, aiohttp
12+
attrs==19.3.0 # via -c requirements/_base.txt, -r requirements/../../../packages/service-library/requirements/_base.in, aiohttp, jsonschema, openapi-core
13+
certifi==2020.6.20 # via minio
14+
chardet==3.0.4 # via -c requirements/_base.txt, aiohttp
15+
configparser==5.0.0 # via minio
16+
idna-ssl==1.1.0 # via -c requirements/_base.txt, aiohttp
17+
idna==2.10 # via -c requirements/_base.txt, idna-ssl, yarl
18+
importlib-metadata==2.0.0 # via -c requirements/_base.txt, jsonschema
19+
isodate==0.6.0 # via openapi-core
20+
jsonschema==3.2.0 # via -r requirements/../../../packages/service-library/requirements/_base.in, openapi-spec-validator
21+
lazy-object-proxy==1.4.3 # via -r requirements/../../../packages/service-library/requirements/_base.in, openapi-core
22+
minio==6.0.0 # via -r requirements/../../../packages/s3wrapper/requirements/_base.in
23+
multidict==4.7.6 # via -c requirements/_base.txt, aiohttp, yarl
24+
openapi-core==0.12.0 # via -r requirements/../../../packages/service-library/requirements/_base.in
25+
openapi-spec-validator==0.2.9 # via openapi-core
26+
prometheus-client==0.8.0 # via -r requirements/../../../packages/service-library/requirements/_base.in
27+
psycopg2-binary==2.8.6 # via -c requirements/_base.txt, -r requirements/../../../packages/service-library/requirements/_base.in, aiopg, sqlalchemy
28+
pyrsistent==0.17.3 # via jsonschema
29+
python-dateutil==2.8.1 # via minio
30+
pytz==2020.1 # via -c requirements/_base.txt, minio
31+
pyyaml==5.3.1 # via -r requirements/../../../packages/service-library/requirements/_base.in, openapi-spec-validator
32+
six==1.15.0 # via -c requirements/_base.txt, isodate, jsonschema, openapi-core, openapi-spec-validator, python-dateutil, tenacity
33+
sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -c requirements/_base.txt, -r requirements/../../../packages/postgres-database/requirements/_base.in, -r requirements/../../../packages/service-library/requirements/_base.in, aiopg
34+
strict-rfc3339==0.7 # via openapi-core
35+
tenacity==6.2.0 # via -c requirements/_base.txt, -r requirements/../../../packages/service-library/requirements/_base.in
36+
trafaret==2.1.0 # via -r requirements/../../../packages/service-library/requirements/_base.in
37+
typing-extensions==3.7.4.3 # via -c requirements/_base.txt, aiohttp, yarl
38+
ujson==3.2.0 # via -r requirements/../../../packages/service-library/requirements/_base.in
39+
urllib3==1.25.10 # via -c requirements/_base.txt, -r requirements/../../../packages/s3wrapper/requirements/_base.in, minio
40+
werkzeug==1.0.1 # via -r requirements/../../../packages/service-library/requirements/_base.in
41+
yarl==1.5.1 # via -c requirements/_base.txt, -r requirements/../../../packages/postgres-database/requirements/_base.in, aiohttp
42+
zipp==3.2.0 # via -c requirements/_base.txt, importlib-metadata
43+
44+
# The following packages are considered to be unsafe in a requirements file:
45+
# setuptools

services/sidecar/requirements/_test.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
# frozen specs
66
-r _base.txt
7+
-r _packages.txt
78

89
# testing
910
coverage

services/sidecar/requirements/_test.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ aiodocker==0.19.1 # via -r requirements/_base.txt
99
aiofile==3.1.0 # via -r requirements/_base.txt
1010
aiofiles==0.5.0 # via -r requirements/_base.txt
1111
aiohttp==3.6.2 # via -r requirements/_base.txt, aiodocker, pytest-aiohttp
12-
aiopg==1.0.0 # via -r requirements/_base.txt, -r requirements/_test.in
12+
aiopg[sa]==1.0.0 # via -r requirements/_base.txt, -r requirements/_test.in
1313
aioredis==1.3.1 # via -r requirements/_base.txt, aioredlock
1414
aioredlock==0.5.2 # via -r requirements/_base.txt
1515
aiormq==3.2.3 # via -r requirements/_base.txt, aio-pika
1616
amqp==2.6.1 # via -r requirements/_base.txt, kombu
1717
astroid==2.4.2 # via pylint
1818
async-timeout==3.0.1 # via -r requirements/_base.txt, aiohttp, aioredis
19-
attrs==20.2.0 # via -r requirements/_base.txt, aiohttp, aioredlock, pytest
19+
attrs==19.3.0 # via -r requirements/_base.txt, aiohttp, aioredlock, pytest
2020
billiard==3.6.3.0 # via -r requirements/_base.txt, celery
2121
caio==0.6.1 # via -r requirements/_base.txt, aiofile
2222
celery[redis]==4.4.7 # via -r requirements/_base.txt
@@ -32,9 +32,9 @@ docopt==0.6.2 # via coveralls
3232
hiredis==1.1.0 # via -r requirements/_base.txt, aioredis
3333
idna-ssl==1.1.0 # via -r requirements/_base.txt, aiohttp
3434
idna==2.10 # via -r requirements/_base.txt, idna-ssl, requests, yarl
35-
importlib-metadata==1.7.0 # via -r requirements/_base.txt, kombu, pluggy, pytest
35+
importlib-metadata==2.0.0 # via -r requirements/_base.txt, kombu, pluggy, pytest
3636
iniconfig==1.0.1 # via pytest
37-
isort==5.5.1 # via pylint
37+
isort==5.5.3 # via pylint
3838
kombu==4.6.11 # via -r requirements/_base.txt, celery
3939
lazy-object-proxy==1.4.3 # via astroid
4040
mccabe==0.6.1 # via pylint
@@ -44,7 +44,7 @@ networkx==2.5 # via -r requirements/_base.txt
4444
packaging==20.4 # via -r requirements/_base.txt, pytest, pytest-sugar
4545
pamqp==2.3.0 # via -r requirements/_base.txt, aiormq
4646
pluggy==0.13.1 # via pytest
47-
psycopg2-binary==2.8.6 # via -r requirements/_base.txt, aiopg
47+
psycopg2-binary==2.8.6 # via -r requirements/_base.txt, aiopg, sqlalchemy
4848
ptvsd==4.3.2 # via -r requirements/_test.in
4949
py==1.9.0 # via pytest
5050
pydantic==1.6.1 # via -r requirements/_base.txt
@@ -56,13 +56,13 @@ pytest-instafail==0.4.2 # via -r requirements/_test.in
5656
pytest-lazy-fixture==0.6.3 # via -r requirements/_test.in
5757
pytest-mock==3.3.1 # via -r requirements/_test.in
5858
pytest-sugar==0.9.4 # via -r requirements/_test.in
59-
pytest==6.0.1 # via -r requirements/_test.in, pytest-aiohttp, pytest-cov, pytest-instafail, pytest-lazy-fixture, pytest-mock, pytest-sugar
59+
pytest==6.0.2 # via -r requirements/_test.in, pytest-aiohttp, pytest-cov, pytest-instafail, pytest-lazy-fixture, pytest-mock, pytest-sugar
6060
python-dotenv==0.14.0 # via -r requirements/_test.in
6161
pytz==2020.1 # via -r requirements/_base.txt, celery
6262
redis==3.5.3 # via -r requirements/_base.txt, celery
6363
requests==2.24.0 # via coveralls, docker
6464
six==1.15.0 # via -r requirements/_base.txt, astroid, docker, packaging, tenacity, websocket-client
65-
sqlalchemy==1.3.19 # via -r requirements/_base.txt
65+
sqlalchemy[postgresql_psycopg2binary]==1.3.19 # via -r requirements/_base.txt, aiopg
6666
tenacity==6.2.0 # via -r requirements/_base.txt
6767
termcolor==1.1.0 # via pytest-sugar
6868
toml==0.10.1 # via pylint, pytest
@@ -73,4 +73,4 @@ vine==1.3.0 # via -r requirements/_base.txt, amqp, celery
7373
websocket-client==0.57.0 # via docker
7474
wrapt==1.12.1 # via astroid
7575
yarl==1.5.1 # via -r requirements/_base.txt, aio-pika, aiohttp, aiormq
76-
zipp==3.1.0 # via -r requirements/_base.txt, importlib-metadata
76+
zipp==3.2.0 # via -r requirements/_base.txt, importlib-metadata

services/sidecar/requirements/prod.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
# installs base requirements
1010
-r _base.txt
11+
-r _packages.txt
1112

1213
# installs this repo's packages
1314
../../services/storage/client-sdk/python/

0 commit comments

Comments
 (0)