diff --git a/.gitignore b/.gitignore
index dabaefe2..3fb25a37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@ build/
**/coverage
**/.venv
.idea
+**/.vim
diff --git a/apps/cic-eth/.dockerignore b/apps/cic-eth/.dockerignore
new file mode 100644
index 00000000..9aae4e0e
--- /dev/null
+++ b/apps/cic-eth/.dockerignore
@@ -0,0 +1,6 @@
+.git
+.cache
+.dot
+**/doc
+**/.venv
+**/venv
diff --git a/apps/cic-eth/docker/Dockerfile b/apps/cic-eth/docker/Dockerfile
index 8edeec22..07ba1df5 100644
--- a/apps/cic-eth/docker/Dockerfile
+++ b/apps/cic-eth/docker/Dockerfile
@@ -7,22 +7,31 @@ WORKDIR /usr/src/cic-eth
# TODO can we take all the requirements out of setup.py and just do a pip install -r requirements.txt && python setup.py
#COPY cic-eth/requirements.txt .
-#ARG EXTRA_INDEX_URL="https://pip.grassrootseconomics.net:8433"
-#ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple"
+ARG EXTRA_INDEX_URL="https://pip.grassrootseconomics.net:8433"
+ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple"
#RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \
# pip install --index-url https://pypi.org/simple \
# --force-reinstall \
-# --trusted-host $pip_trusted_host \
# --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \
# -r requirements.txt
-COPY cic-eth/ .
+COPY . .
RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \
- pip install --index-url https://pypi.org/simple \
- --force-reinstall \
- --trusted-host $pip_trusted_host \
- --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL .
+ pip install --index-url https://pypi.org/simple \
+ --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL .
+COPY docker/entrypoints/* ./
+RUN chmod 755 *.sh
+
+# # ini files in config directory defines the configurable parameters for the application
+# # they can all be overridden by environment variables
+# # to generate a list of environment variables from configuration, use: confini-dump -z
(executable provided by confini package)
+COPY config/ /usr/local/etc/cic-eth/
+COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
+COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
+
+# TODO this kind of code sharing across projects should be discouraged...can we make util a library?
+#COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT []
# --- RUNTIME ---
@@ -37,16 +46,18 @@ COPY --from=dev /usr/local/bin/ /usr/local/bin/
COPY --from=dev /usr/local/lib/python3.8/site-packages/ \
/usr/local/lib/python3.8/site-packages/
-COPY cic-eth/docker/* ./
+COPY docker/entrypoints/* ./
RUN chmod 755 *.sh
-COPY cic-eth/scripts/ scripts/
# # ini files in config directory defines the configurable parameters for the application
# # they can all be overridden by environment variables
# # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package)
-COPY cic-eth/config/ /usr/local/etc/cic-eth/
-COPY cic-eth/cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
-COPY cic-eth/crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
+COPY config/ /usr/local/etc/cic-eth/
+COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
+COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
-COPY util/liveness/health.sh /usr/local/bin/health.sh
+# TODO this kind of code sharing across projects should be discouraged...can we make util a library?
+#COPY util/liveness/health.sh /usr/local/bin/health.sh
+
+ENTRYPOINT []
diff --git a/apps/cic-eth/docker/Dockerfile_ci b/apps/cic-eth/docker/Dockerfile_ci
index c6513445..cbdb7fb0 100644
--- a/apps/cic-eth/docker/Dockerfile_ci
+++ b/apps/cic-eth/docker/Dockerfile_ci
@@ -1,4 +1,3 @@
-# syntax = docker/dockerfile:1.2
FROM registry.gitlab.com/grassrootseconomics/cic-base-images:python-3.8.6-dev-55da5f4e as dev
WORKDIR /usr/src/cic-eth
@@ -8,21 +7,30 @@ WORKDIR /usr/src/cic-eth
# TODO can we take all the requirements out of setup.py and just do a pip install -r requirements.txt && python setup.py
#COPY cic-eth/requirements.txt .
-#ARG EXTRA_INDEX_URL="https://pip.grassrootseconomics.net:8433"
-#ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple"
+ARG EXTRA_INDEX_URL="https://pip.grassrootseconomics.net:8433"
+ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple"
#RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \
# pip install --index-url https://pypi.org/simple \
# --force-reinstall \
-# --trusted-host $pip_trusted_host \
# --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \
# -r requirements.txt
-COPY cic-eth/ .
-RUN pip install --index-url https://pypi.org/simple \
- --force-reinstall \
- --trusted-host $pip_trusted_host \
- --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL .
+COPY . .
+RUN pip install --index-url https://pypi.org/simple \
+ --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL .
+COPY docker/entrypoints/* ./
+RUN chmod 755 *.sh
+
+# # ini files in config directory defines the configurable parameters for the application
+# # they can all be overridden by environment variables
+# # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package)
+COPY config/ /usr/local/etc/cic-eth/
+COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
+COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
+
+# TODO this kind of code sharing across projects should be discouraged...can we make util a library?
+#COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT []
# --- RUNTIME ---
@@ -37,16 +45,18 @@ COPY --from=dev /usr/local/bin/ /usr/local/bin/
COPY --from=dev /usr/local/lib/python3.8/site-packages/ \
/usr/local/lib/python3.8/site-packages/
-COPY cic-eth/docker/* ./
+COPY docker/entrypoints/* ./
RUN chmod 755 *.sh
-COPY cic-eth/scripts/ scripts/
# # ini files in config directory defines the configurable parameters for the application
# # they can all be overridden by environment variables
# # to generate a list of environment variables from configuration, use: confini-dump -z (executable provided by confini package)
-COPY cic-eth/config/ /usr/local/etc/cic-eth/
-COPY cic-eth/cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
-COPY cic-eth/crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
+COPY config/ /usr/local/etc/cic-eth/
+COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
+COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
-COPY util/liveness/health.sh /usr/local/bin/health.sh
+# TODO this kind of code sharing across projects should be discouraged...can we make util a library?
+#COPY util/liveness/health.sh /usr/local/bin/health.sh
+
+ENTRYPOINT []
diff --git a/apps/cic-eth/docker/db.sh b/apps/cic-eth/docker/entrypoints/db.sh
similarity index 100%
rename from apps/cic-eth/docker/db.sh
rename to apps/cic-eth/docker/entrypoints/db.sh
diff --git a/apps/cic-eth/docker/start_dispatcher.sh b/apps/cic-eth/docker/entrypoints/start_dispatcher.sh
similarity index 100%
rename from apps/cic-eth/docker/start_dispatcher.sh
rename to apps/cic-eth/docker/entrypoints/start_dispatcher.sh
diff --git a/apps/cic-eth/docker/start_retry.sh b/apps/cic-eth/docker/entrypoints/start_retry.sh
similarity index 100%
rename from apps/cic-eth/docker/start_retry.sh
rename to apps/cic-eth/docker/entrypoints/start_retry.sh
diff --git a/apps/cic-eth/docker/start_tasker.sh b/apps/cic-eth/docker/entrypoints/start_tasker.sh
similarity index 100%
rename from apps/cic-eth/docker/start_tasker.sh
rename to apps/cic-eth/docker/entrypoints/start_tasker.sh
diff --git a/apps/cic-eth/docker/start_tracker.sh b/apps/cic-eth/docker/entrypoints/start_tracker.sh
similarity index 100%
rename from apps/cic-eth/docker/start_tracker.sh
rename to apps/cic-eth/docker/entrypoints/start_tracker.sh
diff --git a/docker-compose.yml b/docker-compose.yml
index 375098b1..3955f1ff 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -230,6 +230,7 @@ services:
build:
context: apps/cic-eth
dockerfile: docker/Dockerfile
+ target: dev
environment:
CIC_REGISTRY_ADDRESS: $CIC_REGISTRY_ADDRESS
ETH_GAS_PROVIDER_ADDRESS: $DEV_ETH_ACCOUNT_GAS_PROVIDER
@@ -279,6 +280,7 @@ services:
build:
context: apps/cic-eth
dockerfile: docker/Dockerfile
+ target: dev
environment:
ETH_PROVIDER: http://eth:8545
DATABASE_USER: ${DATABASE_USER:-grassroots}
@@ -317,6 +319,7 @@ services:
build:
context: apps/cic-eth
dockerfile: docker/Dockerfile
+ target: dev
environment:
ETH_PROVIDER: http://eth:8545
DATABASE_USER: ${DATABASE_USER:-grassroots}
@@ -357,6 +360,7 @@ services:
build:
context: apps/cic-eth
dockerfile: docker/Dockerfile
+ target: dev
environment:
ETH_PROVIDER: http://eth:8545
DATABASE_USER: ${DATABASE_USER:-grassroots}