From dd97d2af2f7ba11e42c0281d24aae5793c21d485 Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Tue, 18 Apr 2023 22:29:08 -0500 Subject: [PATCH 1/6] add nebari-workflow-controller --- Dockerfile.workflow-controller | 68 +++++++++++++++++++++ nebari-workflow-controller/environment.yaml | 8 +++ 2 files changed, 76 insertions(+) create mode 100644 Dockerfile.workflow-controller create mode 100644 nebari-workflow-controller/environment.yaml diff --git a/Dockerfile.workflow-controller b/Dockerfile.workflow-controller new file mode 100644 index 0000000..bca6d44 --- /dev/null +++ b/Dockerfile.workflow-controller @@ -0,0 +1,68 @@ +# Copyright (c) Nebari Development Team. +# Distributed under the terms of the Modified BSD License. +# Usage: +# ------ +# +# To make a local build of the container, from the root directory: +# docker build -f Dockerfile.admsn-ctrl -t balast/admsn:latest . + +ARG BASE_IMAGE=ubuntu:20.04 +FROM $BASE_IMAGE +LABEL MAINTAINER="Nebari development team" + +ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 +RUN chmod -R a-w ~ +COPY scripts/install-apt-minimal.sh /opt/scripts/install-apt-minimal.sh +RUN /opt/scripts/install-apt-minimal.sh + +COPY scripts/fix-permissions /opt/scripts/fix-permissions + +ENV MAMBAFORGE_VERSION 4.13.0-1 +ENV MAMBAFORGE_SHA256 412b79330e90e49cf7e39a7b6f4752970fcdb8eb54b1a45cc91afe6777e8518c +SHELL ["/bin/bash", "-c"] +ENV CONDA_DIR=/opt/conda \ + DEFAULT_ENV=default +# Set timezone +ENV TZ=America/Chicago +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# Set PATH for Dockerfile so that conda works and some useful scripts are +# available. Any changes intended to propagate to runtime containers should be +# set in /etc/profile.d (see setup_shell_behavior.sh) +ENV PATH=/opt/conda/envs/${DEFAULT_ENV}/bin:/opt/conda/bin:${PATH}:/opt/scripts + +# ============= base install =============== +# install conda +COPY scripts/install-conda.sh /opt/scripts/install-conda.sh +RUN echo "${SHELL}"; env; cat ~/.bashrc; cat ~/.profile ; /opt/scripts/install-conda.sh + +# ========== admission-controller install ============ +COPY scripts/install-apt.sh /opt/scripts/install-apt.sh +COPY admission-controller/apt.txt /opt/admission-controller/apt.txt +RUN /opt/scripts/install-apt.sh /opt/admission-controller/apt.txt + +ARG SKIP_CONDA_SOLVE=yes +COPY scripts/install-conda-environment.sh /opt/scripts/install-conda-environment.sh +COPY admission-controller/environment.yaml /opt/admission-controller/environment.yaml +COPY admission-controller/conda-linux-64.lock /opt/admission-controller/conda-linux-64.lock +RUN \ + if [ "${SKIP_CONDA_SOLVE}" != "no" ];then \ + ENV_FILE=/opt/admission-controller/conda-linux-64.lock ; \ + else \ + ENV_FILE=/opt/admission-controller/environment.yaml ; \ + fi ; \ + /opt/scripts/install-conda-environment.sh "${ENV_FILE}" 'true' + +# ========== code-server install ============ +# ENV PATH=/opt/conda/envs/${DEFAULT_ENV}/share/code-server/bin:${PATH} +# COPY scripts/install-code-server.sh /opt/scripts/install-code-server.sh + +COPY admission-controller /opt/admission-controller +RUN /opt/admission-controller/postBuild + +CMD ["conda", "run", "-n", "default", "python", "/opt/admission-controller/main.py"] + +# ========== Setup GPU Paths ============ +# ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64 +# ENV NVIDIA_PATH=/usr/local/nvidia/bin +# ENV PATH="$NVIDIA_PATH:$PATH" diff --git a/nebari-workflow-controller/environment.yaml b/nebari-workflow-controller/environment.yaml new file mode 100644 index 0000000..32faab4 --- /dev/null +++ b/nebari-workflow-controller/environment.yaml @@ -0,0 +1,8 @@ +name: default +channels: + - conda-forge +dependencies: + - python=3.10 + - pip + - pip: + - admission-controller==0.1.0 \ No newline at end of file From 07c99f17223e9122f14d2c03e663c9dbe6717a55 Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Fri, 21 Apr 2023 09:33:28 -0500 Subject: [PATCH 2/6] update package name --- nebari-workflow-controller/environment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nebari-workflow-controller/environment.yaml b/nebari-workflow-controller/environment.yaml index 32faab4..86d68d3 100644 --- a/nebari-workflow-controller/environment.yaml +++ b/nebari-workflow-controller/environment.yaml @@ -5,4 +5,4 @@ dependencies: - python=3.10 - pip - pip: - - admission-controller==0.1.0 \ No newline at end of file + - nebari-workflow-controller \ No newline at end of file From 4c5a2c027f484a51dea7fdbef1b86caac0c1aa19 Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Fri, 21 Apr 2023 09:39:35 -0500 Subject: [PATCH 3/6] remove comments --- Dockerfile.workflow-controller | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Dockerfile.workflow-controller b/Dockerfile.workflow-controller index bca6d44..dedfe06 100644 --- a/Dockerfile.workflow-controller +++ b/Dockerfile.workflow-controller @@ -53,16 +53,7 @@ RUN \ fi ; \ /opt/scripts/install-conda-environment.sh "${ENV_FILE}" 'true' -# ========== code-server install ============ -# ENV PATH=/opt/conda/envs/${DEFAULT_ENV}/share/code-server/bin:${PATH} -# COPY scripts/install-code-server.sh /opt/scripts/install-code-server.sh - COPY admission-controller /opt/admission-controller RUN /opt/admission-controller/postBuild -CMD ["conda", "run", "-n", "default", "python", "/opt/admission-controller/main.py"] - -# ========== Setup GPU Paths ============ -# ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib64 -# ENV NVIDIA_PATH=/usr/local/nvidia/bin -# ENV PATH="$NVIDIA_PATH:$PATH" +CMD ["conda", "run", "-n", "default", "python", "/opt/admission-controller/main.py"] \ No newline at end of file From 6496eb4721cb6b79de8e78afce0ecd19803999d4 Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Fri, 21 Apr 2023 09:47:23 -0500 Subject: [PATCH 4/6] add lock file --- Dockerfile.workflow-controller | 22 ++++---- nebari-workflow-controller/apt.txt | 26 ++++++++++ .../conda-linux-64.lock | 50 +++++++++++++++++++ 3 files changed, 87 insertions(+), 11 deletions(-) create mode 100644 nebari-workflow-controller/apt.txt create mode 100644 nebari-workflow-controller/conda-linux-64.lock diff --git a/Dockerfile.workflow-controller b/Dockerfile.workflow-controller index dedfe06..234510d 100644 --- a/Dockerfile.workflow-controller +++ b/Dockerfile.workflow-controller @@ -4,7 +4,7 @@ # ------ # # To make a local build of the container, from the root directory: -# docker build -f Dockerfile.admsn-ctrl -t balast/admsn:latest . +# docker build -f Dockerfile.workflow-controller -t balast/admsn:latest . ARG BASE_IMAGE=ubuntu:20.04 FROM $BASE_IMAGE @@ -36,24 +36,24 @@ ENV PATH=/opt/conda/envs/${DEFAULT_ENV}/bin:/opt/conda/bin:${PATH}:/opt/scripts COPY scripts/install-conda.sh /opt/scripts/install-conda.sh RUN echo "${SHELL}"; env; cat ~/.bashrc; cat ~/.profile ; /opt/scripts/install-conda.sh -# ========== admission-controller install ============ +# ========== nebari-workflow-controller install ============ COPY scripts/install-apt.sh /opt/scripts/install-apt.sh -COPY admission-controller/apt.txt /opt/admission-controller/apt.txt -RUN /opt/scripts/install-apt.sh /opt/admission-controller/apt.txt +COPY nebari-workflow-controller/apt.txt /opt/nebari-workflow-controller/apt.txt +RUN /opt/scripts/install-apt.sh /opt/nebari-workflow-controller/apt.txt ARG SKIP_CONDA_SOLVE=yes COPY scripts/install-conda-environment.sh /opt/scripts/install-conda-environment.sh -COPY admission-controller/environment.yaml /opt/admission-controller/environment.yaml -COPY admission-controller/conda-linux-64.lock /opt/admission-controller/conda-linux-64.lock +COPY nebari-workflow-controller/environment.yaml /opt/nebari-workflow-controller/environment.yaml +COPY nebari-workflow-controller/conda-linux-64.lock /opt/nebari-workflow-controller/conda-linux-64.lock RUN \ if [ "${SKIP_CONDA_SOLVE}" != "no" ];then \ - ENV_FILE=/opt/admission-controller/conda-linux-64.lock ; \ + ENV_FILE=/opt/nebari-workflow-controller/conda-linux-64.lock ; \ else \ - ENV_FILE=/opt/admission-controller/environment.yaml ; \ + ENV_FILE=/opt/nebari-workflow-controller/environment.yaml ; \ fi ; \ /opt/scripts/install-conda-environment.sh "${ENV_FILE}" 'true' -COPY admission-controller /opt/admission-controller -RUN /opt/admission-controller/postBuild +COPY nebari-workflow-controller /opt/nebari-workflow-controller +RUN /opt/nebari-workflow-controller/postBuild -CMD ["conda", "run", "-n", "default", "python", "/opt/admission-controller/main.py"] \ No newline at end of file +CMD ["conda", "run", "-n", "default", "python", "/opt/nebari-workflow-controller/main.py"] \ No newline at end of file diff --git a/nebari-workflow-controller/apt.txt b/nebari-workflow-controller/apt.txt new file mode 100644 index 0000000..a6003b4 --- /dev/null +++ b/nebari-workflow-controller/apt.txt @@ -0,0 +1,26 @@ +# Copyright (c) Nebari Development Team. +# Distributed under the terms of the Modified BSD License. + +locales + +# assign uid/gid names +libnss-wrapper + +# utilities +wget +curl +htop +tree +zip +unzip + +# development utilities +git +openssh-client +tmux +xvfb + +# editors +nano +vim +emacs \ No newline at end of file diff --git a/nebari-workflow-controller/conda-linux-64.lock b/nebari-workflow-controller/conda-linux-64.lock new file mode 100644 index 0000000..9ef928d --- /dev/null +++ b/nebari-workflow-controller/conda-linux-64.lock @@ -0,0 +1,50 @@ +# Generated by conda-lock. +# platform: linux-64 +# input_hash: 674dddc08c649acd0390b2ed6b0abe0bf7fa2c42738404b76e3575818356977f +@EXPLICIT +https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 +https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 +https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda#7aca3059a1729aa76c597603f10b0dd3 +https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda#939e3e74d8be4dac89ce83b20de2492a +https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.2.0-h65d4601_19.tar.bz2#cedcee7c064c01c403f962c9e8d3c373 +https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d +https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2#e4c94f80aef025c17ab0828cd85ef535 +https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 +https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 +https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 +https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda#40b61aab5c7ba9ff276c41cfffe6b80b +https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 +https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 +https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.0-h0b41bf4_0.conda#2d833be81a21128e317325a01326d36f +https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161070d867d1b1204ea749c8eec4ef0 +https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f +https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda#47d31b792659ce70f470b5c82fdfb7a4 +https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 +https://conda.anaconda.org/conda-forge/linux-64/python-3.10.10-he550d4f_0_cpython.conda#de25afc7041c103c7f510c746bb63435 +https://conda.anaconda.org/conda-forge/noarch/setuptools-67.7.1-pyhd8ed1ab_0.conda#82bd3ef4e96ced7384f34ab01ece65b6 +https://conda.anaconda.org/conda-forge/noarch/wheel-0.40.0-pyhd8ed1ab_0.conda#49bb0d9e60ce1db25e151780331bb5f3 +https://conda.anaconda.org/conda-forge/noarch/pip-23.1-pyhd8ed1ab_0.conda#9ccbacfd1cbfa0be00cc345fe5ad8816 +# pip certifi @ https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl#sha256=4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18 +# pip charset-normalizer @ https://files.pythonhosted.org/packages/cc/f6/21a66e524658bd1dd7b89ac9d1ee8f7823f2d9701a2fbc458ab9ede53c63/charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795 +# pip click @ https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl#sha256=bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 +# pip h11 @ https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl#sha256=e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761 +# pip idna @ https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl#sha256=90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 +# pip packaging @ https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl#sha256=994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61 +# pip pyasn1 @ https://files.pythonhosted.org/packages/14/e5/b56a725cbde139aa960c26a1a3ca4d4af437282e20b5314ee6a3501e7dfc/pyasn1-0.5.0-py2.py3-none-any.whl#sha256=87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57 +# pip six @ https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 +# pip sniffio @ https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl#sha256=eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384 +# pip typing-extensions @ https://files.pythonhosted.org/packages/31/25/5abcd82372d3d4a3932e1fa8c3dbf9efac10cc7c0d16e78467460571b404/typing_extensions-4.5.0-py3-none-any.whl#sha256=fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4 +# pip urllib3 @ https://files.pythonhosted.org/packages/7b/f5/890a0baca17a61c1f92f72b81d3c31523c99bec609e60c292ea55b387ae8/urllib3-1.26.15-py2.py3-none-any.whl#sha256=aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42 +# pip anyio @ https://files.pythonhosted.org/packages/77/2b/b4c0b7a3f3d61adb1a1e0b78f90a94e2b6162a043880704b7437ef297cad/anyio-3.6.2-py3-none-any.whl#sha256=fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3 +# pip deprecation @ https://files.pythonhosted.org/packages/02/c3/253a89ee03fc9b9682f1541728eb66db7db22148cd94f89ab22528cd1e1b/deprecation-2.1.0-py2.py3-none-any.whl#sha256=a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a +# pip ecdsa @ https://files.pythonhosted.org/packages/09/d4/4f05f5d16a4863b30ba96c23b23e942da8889abfa1cdbabf2a0df12a4532/ecdsa-0.18.0-py2.py3-none-any.whl#sha256=80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd +# pip pydantic @ https://files.pythonhosted.org/packages/81/1b/04ce5303aee97af30b94c45699ed228b8ba6ba64c972efac184fb9a566f3/pydantic-1.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=516f1ed9bc2406a0467dd777afc636c7091d71f214d5e413d64fef45174cfc7a +# pip requests @ https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl#sha256=64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa +# pip rsa @ https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl#sha256=90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 +# pip uvicorn @ https://files.pythonhosted.org/packages/8c/f1/7c45fe2a09133e103dcf0621831545c268cd3f7a5d58dc7e470be91b2cd0/uvicorn-0.21.1-py3-none-any.whl#sha256=e47cac98a6da10cd41e6fd036d472c6f58ede6c5dbee3dbee3ef7a100ed97742 +# pip python-jose @ https://files.pythonhosted.org/packages/bd/2d/e94b2f7bab6773c70efc70a61d66e312e1febccd9e0db6b9e0adf58cbad1/python_jose-3.3.0-py2.py3-none-any.whl#sha256=9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a +# pip requests-toolbelt @ https://files.pythonhosted.org/packages/05/d3/bf87a36bff1cb88fd30a509fd366c70ec30676517ee791b2f77e0e29817a/requests_toolbelt-0.10.1-py2.py3-none-any.whl#sha256=18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7 +# pip starlette @ https://files.pythonhosted.org/packages/12/48/f9c1ec6bee313aba264fbc2483d9070f4e4526f2538e2b55b1e4a391d938/starlette-0.26.1-py3-none-any.whl#sha256=e87fce5d7cbdde34b76f0ac69013fd9d190d581d80681493016666e6f96c6d5e +# pip fastapi @ https://files.pythonhosted.org/packages/2e/84/d289e941ffec2f107d9097c8f7c2dbc874b0fc3fab9776aa3cc366d45ab2/fastapi-0.95.1-py3-none-any.whl#sha256=a870d443e5405982e1667dfe372663abf10754f246866056336d7f01c21dab07 +# pip python-keycloak @ https://files.pythonhosted.org/packages/50/fd/290bf522bfebb4dcc4e3b71b86a26d3dc8eb7a5b0648aa19b7428867695b/python_keycloak-2.15.3-py3-none-any.whl#sha256=060a10b53172db3257a15eca4031f17abeaf1518731d5517405173ab1a550d97 +# pip nebari-workflow-controller @ https://files.pythonhosted.org/packages/55/cf/5603be2db0b8a970c7fb6266de388fb91abfe4cef900e0eef94cbac0cd4e/nebari_workflow_controller-2023.4.1-py3-none-any.whl#sha256=be175d4321b4ace6fa5ca5c5a2e5113edd8a808954b70e44ac1cc5cbd355c2ac From d39a9e4e00611f2475b2a450f1baf8bd88657fbf Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Fri, 21 Apr 2023 16:21:25 -0500 Subject: [PATCH 5/6] remove conda lock file and remove comments --- Dockerfile.workflow-controller | 13 ++--- .../conda-linux-64.lock | 50 ------------------- 2 files changed, 7 insertions(+), 56 deletions(-) delete mode 100644 nebari-workflow-controller/conda-linux-64.lock diff --git a/Dockerfile.workflow-controller b/Dockerfile.workflow-controller index 234510d..2313c74 100644 --- a/Dockerfile.workflow-controller +++ b/Dockerfile.workflow-controller @@ -4,7 +4,7 @@ # ------ # # To make a local build of the container, from the root directory: -# docker build -f Dockerfile.workflow-controller -t balast/admsn:latest . +# docker build -f Dockerfile.workflow-controller -t nebari-workflow-controller:latest . ARG BASE_IMAGE=ubuntu:20.04 FROM $BASE_IMAGE @@ -39,12 +39,14 @@ RUN echo "${SHELL}"; env; cat ~/.bashrc; cat ~/.profile ; /opt/scripts/install-c # ========== nebari-workflow-controller install ============ COPY scripts/install-apt.sh /opt/scripts/install-apt.sh COPY nebari-workflow-controller/apt.txt /opt/nebari-workflow-controller/apt.txt -RUN /opt/scripts/install-apt.sh /opt/nebari-workflow-controller/apt.txt +RUN /opt/scripts/install-apt.sh -ARG SKIP_CONDA_SOLVE=yes +# uncomment to install dev dependencies +# RUN /opt/scripts/install-apt.sh /opt/nebari-workflow-controller/apt.txt + +ARG SKIP_CONDA_SOLVE=no COPY scripts/install-conda-environment.sh /opt/scripts/install-conda-environment.sh COPY nebari-workflow-controller/environment.yaml /opt/nebari-workflow-controller/environment.yaml -COPY nebari-workflow-controller/conda-linux-64.lock /opt/nebari-workflow-controller/conda-linux-64.lock RUN \ if [ "${SKIP_CONDA_SOLVE}" != "no" ];then \ ENV_FILE=/opt/nebari-workflow-controller/conda-linux-64.lock ; \ @@ -54,6 +56,5 @@ RUN \ /opt/scripts/install-conda-environment.sh "${ENV_FILE}" 'true' COPY nebari-workflow-controller /opt/nebari-workflow-controller -RUN /opt/nebari-workflow-controller/postBuild -CMD ["conda", "run", "-n", "default", "python", "/opt/nebari-workflow-controller/main.py"] \ No newline at end of file +CMD ["python", "-m", "nebari_workflow_controller"] \ No newline at end of file diff --git a/nebari-workflow-controller/conda-linux-64.lock b/nebari-workflow-controller/conda-linux-64.lock deleted file mode 100644 index 9ef928d..0000000 --- a/nebari-workflow-controller/conda-linux-64.lock +++ /dev/null @@ -1,50 +0,0 @@ -# Generated by conda-lock. -# platform: linux-64 -# input_hash: 674dddc08c649acd0390b2ed6b0abe0bf7fa2c42738404b76e3575818356977f -@EXPLICIT -https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 -https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2022.12.7-ha878542_0.conda#ff9f73d45c4a07d6f424495288a26080 -https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda#7aca3059a1729aa76c597603f10b0dd3 -https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda#939e3e74d8be4dac89ce83b20de2492a -https://conda.anaconda.org/conda-forge/linux-64/libgomp-12.2.0-h65d4601_19.tar.bz2#cedcee7c064c01c403f962c9e8d3c373 -https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2#73aaf86a425cc6e73fcf236a5a46396d -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-12.2.0-h65d4601_19.tar.bz2#e4c94f80aef025c17ab0828cd85ef535 -https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 -https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2#d645c6d2ac96843a2bfaccd2d62b3ac3 -https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.0-h7f98852_0.tar.bz2#39b1328babf85c7c3a61636d9cd50206 -https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda#40b61aab5c7ba9ff276c41cfffe6b80b -https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-h166bdaf_4.tar.bz2#f3f9de449d32ca9b9c66a22863c96f41 -https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.3-h27087fc_1.tar.bz2#4acfc691e64342b9dae57cf2adc63238 -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.1.0-h0b41bf4_0.conda#2d833be81a21128e317325a01326d36f -https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2#2161070d867d1b1204ea749c8eec4ef0 -https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.40.0-h753d276_0.tar.bz2#2e5f9a37d487e1019fd4d8113adb2f9f -https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda#47d31b792659ce70f470b5c82fdfb7a4 -https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.12-h27826a3_0.tar.bz2#5b8c42eb62e9fc961af70bdd6a26e168 -https://conda.anaconda.org/conda-forge/linux-64/python-3.10.10-he550d4f_0_cpython.conda#de25afc7041c103c7f510c746bb63435 -https://conda.anaconda.org/conda-forge/noarch/setuptools-67.7.1-pyhd8ed1ab_0.conda#82bd3ef4e96ced7384f34ab01ece65b6 -https://conda.anaconda.org/conda-forge/noarch/wheel-0.40.0-pyhd8ed1ab_0.conda#49bb0d9e60ce1db25e151780331bb5f3 -https://conda.anaconda.org/conda-forge/noarch/pip-23.1-pyhd8ed1ab_0.conda#9ccbacfd1cbfa0be00cc345fe5ad8816 -# pip certifi @ https://files.pythonhosted.org/packages/71/4c/3db2b8021bd6f2f0ceb0e088d6b2d49147671f25832fb17970e9b583d742/certifi-2022.12.7-py3-none-any.whl#sha256=4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18 -# pip charset-normalizer @ https://files.pythonhosted.org/packages/cc/f6/21a66e524658bd1dd7b89ac9d1ee8f7823f2d9701a2fbc458ab9ede53c63/charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795 -# pip click @ https://files.pythonhosted.org/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl#sha256=bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 -# pip h11 @ https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl#sha256=e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761 -# pip idna @ https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl#sha256=90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 -# pip packaging @ https://files.pythonhosted.org/packages/ab/c3/57f0601a2d4fe15de7a553c00adbc901425661bf048f2a22dfc500caf121/packaging-23.1-py3-none-any.whl#sha256=994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61 -# pip pyasn1 @ https://files.pythonhosted.org/packages/14/e5/b56a725cbde139aa960c26a1a3ca4d4af437282e20b5314ee6a3501e7dfc/pyasn1-0.5.0-py2.py3-none-any.whl#sha256=87a2121042a1ac9358cabcaf1d07680ff97ee6404333bacca15f76aa8ad01a57 -# pip six @ https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl#sha256=8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 -# pip sniffio @ https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl#sha256=eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384 -# pip typing-extensions @ https://files.pythonhosted.org/packages/31/25/5abcd82372d3d4a3932e1fa8c3dbf9efac10cc7c0d16e78467460571b404/typing_extensions-4.5.0-py3-none-any.whl#sha256=fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4 -# pip urllib3 @ https://files.pythonhosted.org/packages/7b/f5/890a0baca17a61c1f92f72b81d3c31523c99bec609e60c292ea55b387ae8/urllib3-1.26.15-py2.py3-none-any.whl#sha256=aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42 -# pip anyio @ https://files.pythonhosted.org/packages/77/2b/b4c0b7a3f3d61adb1a1e0b78f90a94e2b6162a043880704b7437ef297cad/anyio-3.6.2-py3-none-any.whl#sha256=fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3 -# pip deprecation @ https://files.pythonhosted.org/packages/02/c3/253a89ee03fc9b9682f1541728eb66db7db22148cd94f89ab22528cd1e1b/deprecation-2.1.0-py2.py3-none-any.whl#sha256=a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a -# pip ecdsa @ https://files.pythonhosted.org/packages/09/d4/4f05f5d16a4863b30ba96c23b23e942da8889abfa1cdbabf2a0df12a4532/ecdsa-0.18.0-py2.py3-none-any.whl#sha256=80600258e7ed2f16b9aa1d7c295bd70194109ad5a30fdee0eaeefef1d4c559dd -# pip pydantic @ https://files.pythonhosted.org/packages/81/1b/04ce5303aee97af30b94c45699ed228b8ba6ba64c972efac184fb9a566f3/pydantic-1.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl#sha256=516f1ed9bc2406a0467dd777afc636c7091d71f214d5e413d64fef45174cfc7a -# pip requests @ https://files.pythonhosted.org/packages/d2/f4/274d1dbe96b41cf4e0efb70cbced278ffd61b5c7bb70338b62af94ccb25b/requests-2.28.2-py3-none-any.whl#sha256=64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa -# pip rsa @ https://files.pythonhosted.org/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl#sha256=90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 -# pip uvicorn @ https://files.pythonhosted.org/packages/8c/f1/7c45fe2a09133e103dcf0621831545c268cd3f7a5d58dc7e470be91b2cd0/uvicorn-0.21.1-py3-none-any.whl#sha256=e47cac98a6da10cd41e6fd036d472c6f58ede6c5dbee3dbee3ef7a100ed97742 -# pip python-jose @ https://files.pythonhosted.org/packages/bd/2d/e94b2f7bab6773c70efc70a61d66e312e1febccd9e0db6b9e0adf58cbad1/python_jose-3.3.0-py2.py3-none-any.whl#sha256=9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a -# pip requests-toolbelt @ https://files.pythonhosted.org/packages/05/d3/bf87a36bff1cb88fd30a509fd366c70ec30676517ee791b2f77e0e29817a/requests_toolbelt-0.10.1-py2.py3-none-any.whl#sha256=18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7 -# pip starlette @ https://files.pythonhosted.org/packages/12/48/f9c1ec6bee313aba264fbc2483d9070f4e4526f2538e2b55b1e4a391d938/starlette-0.26.1-py3-none-any.whl#sha256=e87fce5d7cbdde34b76f0ac69013fd9d190d581d80681493016666e6f96c6d5e -# pip fastapi @ https://files.pythonhosted.org/packages/2e/84/d289e941ffec2f107d9097c8f7c2dbc874b0fc3fab9776aa3cc366d45ab2/fastapi-0.95.1-py3-none-any.whl#sha256=a870d443e5405982e1667dfe372663abf10754f246866056336d7f01c21dab07 -# pip python-keycloak @ https://files.pythonhosted.org/packages/50/fd/290bf522bfebb4dcc4e3b71b86a26d3dc8eb7a5b0648aa19b7428867695b/python_keycloak-2.15.3-py3-none-any.whl#sha256=060a10b53172db3257a15eca4031f17abeaf1518731d5517405173ab1a550d97 -# pip nebari-workflow-controller @ https://files.pythonhosted.org/packages/55/cf/5603be2db0b8a970c7fb6266de388fb91abfe4cef900e0eef94cbac0cd4e/nebari_workflow_controller-2023.4.1-py3-none-any.whl#sha256=be175d4321b4ace6fa5ca5c5a2e5113edd8a808954b70e44ac1cc5cbd355c2ac From 14bcf9fffe070cc01e418651e2d78a6c0a558697 Mon Sep 17 00:00:00 2001 From: Adam-D-Lewis <23342526+Adam-D-Lewis@users.noreply.github.com> Date: Fri, 21 Apr 2023 16:30:17 -0500 Subject: [PATCH 6/6] update docker push workflow --- .github/workflows/build-push-docker.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-docker.yaml b/.github/workflows/build-push-docker.yaml index e29db8c..9d8a74a 100644 --- a/.github/workflows/build-push-docker.yaml +++ b/.github/workflows/build-push-docker.yaml @@ -13,6 +13,7 @@ on: - "dask-worker/*" - "jupyterhub/*" - "jupyterlab/*" + - "nebari-workflow-controller/*" - "scripts/*" @@ -52,9 +53,11 @@ jobs: - gpu - cpu exclude: - # excludes JupyterHub/GPU + # excludes JupyterHub/GPU, Workflow Controller/GPU - dockerfile: jupyterhub platform: gpu + - dockerfile: workflow-controller + platform: gpu steps: - name: "Checkout Repository 🛎️"