containers/docker/dicom_indexer/entrypoint.sh

38 lines
1.2 KiB
Bash

#!/bin/bash
CONTAINER_ID=$(basename $(cat /proc/1/cpuset))
GITLAB_TOKEN_SECRET=/var/run/secrets/dicom_bot_gitlab_token
# only export keys when deploying as a service on swarm
# TODO: should try using gitlab runner mechanism if not
if [ -e $GITLAB_TOKEN_SECRET ] ; then
# generate container specific ssh-key
ssh-keygen -f /root/.ssh/id_rsa -N ''
# register it for dicom_bot user
curl -X POST -F "private_token=$(cat $GITLAB_TOKEN_SECRET)" \
-F "title="$(cat /etc/hostname)${CONTAINER_ID:0:12} -F "key=$(cat ~/.ssh/id_rsa.pub)" \
"${GITLAB_API_URL}/user/keys"
fi
git config --global init.defaultBranch main
# example
# /usr/bin/storescp \
# -aet DICOM_SERVER_SEQUOIA\
# -pm\
# -od $DICOM_TMP_DIR -su ''\
# --eostudy-timeout ${STORESCP_STUDY_TIMEOUT:=60} \
# --exec-on-eostudy "python3 $DICOM_ROOT/exec_on_study_received.py #p " 2100 >> $DICOM_DATA_ROOT/storescp.log
# run whatever command was passed (storescp or python index_dicoms directly)
echo $@
bash -c "$@"
if [ -e $GITLAB_TOKEN_SECRET ] ; then
# unregister the temporary ssh key
curl -X DELETE -F "private_token=$(cat $GITLAB_TOKEN_SECRET)" \
-F "title="$(cat /etc/hostname)${CONTAINER_ID:0:12}
"${GITLAB_API_URL}/user/keys"
fi