diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5c3fc7e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +# deps +FROM rockylinux:9.2 AS deps + +WORKDIR /app +COPY Makefile . + +RUN dnf install -y epel-release +RUN dnf install -y make ansible +RUN make deps + + +# build env +FROM deps AS build_1 +COPY . ./ +RUN make environment diff --git a/Makefile b/Makefile index d589719..cc541f1 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ clean-secrets: rm -rf etc/.secrets virtualenv: - python3 -m venv . + python3.11 -m venv . venv: virtualenv @@ -23,8 +23,9 @@ pip: # OS level dependencies deps: +# note aiohttp won't build yet on python3.12 + dnf install -y python3.11-devel openldap-devel dnf groupinstall -y "Development Tools" - dnf install -y python36-devel openldap-devel # run this to configure the dev environment environment: venv pip @@ -33,3 +34,16 @@ update-sdf-ansible: git submodule update --init --recursive apply: environment get-secrets update-sdf-ansible + +# Docker +docker_build: + docker build --platform=linux/amd64 --tag slaclab/sdf-cli . + +docker_build_no_cache: + docker build --no-cache --platform=linux/amd64 --tag slaclab/sdf-cli . + +docker_run_it: docker_build + docker run --platform=linux/amd64 -it slaclab/sdf-cli bash + +docker_push: docker_build + docker push slaclab/sdf-cli diff --git a/requirements.txt b/requirements.txt index 3ce5dd3..f7471e3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ +# requests pkg does not support urllib3 v2.0.0 +urllib3==1.26.15 cliff==3.10.1 #yarl #multidict