From cbc8afeddad9cff3016a9948e33d9d3635b49da0 Mon Sep 17 00:00:00 2001 From: David Kebler Date: Sat, 22 Apr 2023 10:23:44 -0700 Subject: [PATCH] reorganize src/ for refactor of UCI build reorganize, refactor and improve testing --- build | 4 ++-- deploy/{logs => log} | 0 src/init/build.env | 5 ++--- src/init/init.sh | 11 +++-------- src/init/{ => opt}/bin/caddy | 1 + {test => src/init/opt/caddy}/conf/Caddyfile | 0 {test => src/init/opt/caddy}/conf/caddy.pkgs | 0 {test => src/init/opt/caddy}/conf/test.conf | 0 src/init/{ => opt}/env/caddy.env | 0 src/init/{ => opt}/env/run.env | 3 +++ src/init/{ => opt}/lib/caddy.lib | 2 +- src/init/{ => opt}/lib/getarch.sh | 0 src/init/{ => opt}/lib/github.lib | 0 src/packages/packages.lst | 8 ++++++++ src/packages/packages.sh | 8 -------- test/build | 11 ++++++++++- test/build.env | 1 + test/caddy | 2 ++ test/{ => compose}/compose.env | 0 test/{ => compose}/docker-compose.yaml | 12 ++++++------ test/compose/log | 3 +++ test/compose/scrub | 1 + test/compose/start | 5 +++++ test/compose/stop | 1 + test/compose/term | 3 +++ test/get-packages | 2 ++ test/shell | 1 - test/test | 7 ------- test/try | 4 ++++ 29 files changed, 58 insertions(+), 37 deletions(-) rename deploy/{logs => log} (100%) rename src/init/{ => opt}/bin/caddy (94%) rename {test => src/init/opt/caddy}/conf/Caddyfile (100%) rename {test => src/init/opt/caddy}/conf/caddy.pkgs (100%) rename {test => src/init/opt/caddy}/conf/test.conf (100%) rename src/init/{ => opt}/env/caddy.env (100%) rename src/init/{ => opt}/env/run.env (54%) rename src/init/{ => opt}/lib/caddy.lib (99%) rename src/init/{ => opt}/lib/getarch.sh (100%) rename src/init/{ => opt}/lib/github.lib (100%) create mode 100644 src/packages/packages.lst delete mode 100644 src/packages/packages.sh create mode 100644 test/build.env rename test/{ => compose}/compose.env (100%) rename test/{ => compose}/docker-compose.yaml (82%) create mode 100755 test/compose/log create mode 100755 test/compose/scrub create mode 100755 test/compose/start create mode 100755 test/compose/stop create mode 100755 test/compose/term delete mode 100755 test/shell delete mode 100755 test/test create mode 100755 test/try diff --git a/build b/build index 4b45d61..38b79bd 100755 --- a/build +++ b/build @@ -10,10 +10,10 @@ if [[ $build ]];then if [[ $BUILD_CADDY_CONF ]]; then CONF_DIR=${CONF_DIR:-${PWD}/conf} if [[ -d $CONF_DIR ]]; then - mkdir -p ${BUILD_SRC}/init/caddy/conf + mkdir -p ${BUILD_SRC}/init/opt/caddy/conf echo adding caddy conf/ directory $CONF_DIR to build ls -la $CONF_DIR - /bin/cp -R $CONF_DIR/. ${BUILD_SRC}/init/caddy/conf + /bin/cp -R $CONF_DIR/. ${BUILD_SRC}/init/opt/caddy/conf fi fi BUILD_PKGS=${BUILD_PKGS:-${PWD}/caddy.pkgs} diff --git a/deploy/logs b/deploy/log similarity index 100% rename from deploy/logs rename to deploy/log diff --git a/src/init/build.env b/src/init/build.env index 1de7ccb..a06d6e3 100644 --- a/src/init/build.env +++ b/src/init/build.env @@ -1,3 +1,2 @@ -source $ENV_DIR/run.env -export ENTRYPOINT_CMD=caddy -export ENTRYPOINT_CMD_PATH=$BIN_DIR/caddy \ No newline at end of file +export BUILD_NAME=caddy +[ -f "$ENV_DIR/run.env" ] && source $ENV_DIR/run.env diff --git a/src/init/init.sh b/src/init/init.sh index 0c70933..6ba1a86 100755 --- a/src/init/init.sh +++ b/src/init/init.sh @@ -1,16 +1,11 @@ #!/bin/bash -# set -e echo -e "********** Caddy Setup and Install ***************" if [[ $(env | grep CADDY_LIB) ]]; then - mkdir -p $CADDY_HOME 2> /dev/null - if [[ -d caddy/ ]]; then - echo "copying caddy/ to $CADDY_HOME" - /bin/cp -R -p caddy/. $CADDY_HOME - fi - pushd $CADDY_HOME || exit 2 + mkdir -p $CADDY_HOME >/dev/null + pushd $CADDY_HOME > /dev/null || exit 2 echo making caddy subdirectories $PWD mkdir data conf settings bin 2> /dev/null - popd + popd > /dev/null || exit 2 chown -R 1000:1000 $CADDY_HOME echo -e "------------------" echo $CADDY_HOME diff --git a/src/init/bin/caddy b/src/init/opt/bin/caddy similarity index 94% rename from src/init/bin/caddy rename to src/init/opt/bin/caddy index 872aca8..a3e04ba 100755 --- a/src/init/bin/caddy +++ b/src/init/opt/bin/caddy @@ -40,6 +40,7 @@ case "$1" in conf=Caddyfile fi if [[ -f $conf ]]; then + echo checking for any run time packages to add... caddy_add_packages echo running: $CADDY_BIN run --config $conf --adapter caddyfile $CADDY_BIN run --config $conf --adapter caddyfile diff --git a/test/conf/Caddyfile b/src/init/opt/caddy/conf/Caddyfile similarity index 100% rename from test/conf/Caddyfile rename to src/init/opt/caddy/conf/Caddyfile diff --git a/test/conf/caddy.pkgs b/src/init/opt/caddy/conf/caddy.pkgs similarity index 100% rename from test/conf/caddy.pkgs rename to src/init/opt/caddy/conf/caddy.pkgs diff --git a/test/conf/test.conf b/src/init/opt/caddy/conf/test.conf similarity index 100% rename from test/conf/test.conf rename to src/init/opt/caddy/conf/test.conf diff --git a/src/init/env/caddy.env b/src/init/opt/env/caddy.env similarity index 100% rename from src/init/env/caddy.env rename to src/init/opt/env/caddy.env diff --git a/src/init/env/run.env b/src/init/opt/env/run.env similarity index 54% rename from src/init/env/run.env rename to src/init/opt/env/run.env index 6c42ae1..307c900 100644 --- a/src/init/env/run.env +++ b/src/init/opt/env/run.env @@ -1,3 +1,6 @@ # will be sourced when "login" action is run via /etc/profile +# set these to customize the "custom" entrypoint command +export ENTRYPOINT_CMD=caddy +export ENTRYPOINT_CMD_PATH=$BIN_DIR/caddy source $ENV_DIR/caddy.env export VOLUME_DIRS="$XDG_CONFIG_HOME $XDG_DATA_HOME $CADDY_CONF" \ No newline at end of file diff --git a/src/init/lib/caddy.lib b/src/init/opt/lib/caddy.lib similarity index 99% rename from src/init/lib/caddy.lib rename to src/init/opt/lib/caddy.lib index 588de8e..0e85e47 100644 --- a/src/init/lib/caddy.lib +++ b/src/init/opt/lib/caddy.lib @@ -13,7 +13,7 @@ caddy_add_packages () { } [[ -f $1 ]] && pkgs=" $(clean $1)" - [[ $BUILDING && -f $BUILD_DIR/caddy.pkgs ]] && pkgs=$(clean $BUILD_DIR/caddy.pkgs "$pkgs") + [[ $BUILDING && -f $BUILD_DIR/caddy.pkgs ]] && pkgs=$(clean $BUILD_DIR/caddy.pkgs "$pkgs") # echo pkgs after build # echo $pkgs [[ -f $CADDY_CONF/caddy.pkgs ]] && pkgs=$(clean $CADDY_CONF/caddy.pkgs "$pkgs") diff --git a/src/init/lib/getarch.sh b/src/init/opt/lib/getarch.sh similarity index 100% rename from src/init/lib/getarch.sh rename to src/init/opt/lib/getarch.sh diff --git a/src/init/lib/github.lib b/src/init/opt/lib/github.lib similarity index 100% rename from src/init/lib/github.lib rename to src/init/opt/lib/github.lib diff --git a/src/packages/packages.lst b/src/packages/packages.lst new file mode 100644 index 0000000..42e56db --- /dev/null +++ b/src/packages/packages.lst @@ -0,0 +1,8 @@ +ca-certificates +libcap +mailcap +jq + + + + diff --git a/src/packages/packages.sh b/src/packages/packages.sh deleted file mode 100644 index 33b90a6..0000000 --- a/src/packages/packages.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -echo install packages for alpine caddy -apk update; apk upgrade; -# note: shadow, bash, bash-completion coreutils are installed by default for alpine -apk add --no-cache --no-progress ca-certificates libcap mailcap git jq bash curl - - - diff --git a/test/build b/test/build index f2aa0c7..2650f64 100755 --- a/test/build +++ b/test/build @@ -1 +1,10 @@ -../build -e test.env $@ +#!/bin/bash +[[ $1 = "-f" ]] && force=force && shift +if [[ ! $(udbuild image exists -e test.env) || $force ]] ; then + echo $force building image + ../build -e test.env -a build.env $@ + echo done building image + else + echo using existing image, use -f to force rebuild +fi + diff --git a/test/build.env b/test/build.env new file mode 100644 index 0000000..95e0165 --- /dev/null +++ b/test/build.env @@ -0,0 +1 @@ +UCI_SHELL=true \ No newline at end of file diff --git a/test/caddy b/test/caddy index 11e1054..5b1342f 100755 --- a/test/caddy +++ b/test/caddy @@ -1 +1,3 @@ +source ./build $1 +[[ $force ]] && shift 1 udbuild try -e test.env -m /opt/caddy/conf -h conf caddy $@ diff --git a/test/compose.env b/test/compose/compose.env similarity index 100% rename from test/compose.env rename to test/compose/compose.env diff --git a/test/docker-compose.yaml b/test/compose/docker-compose.yaml similarity index 82% rename from test/docker-compose.yaml rename to test/compose/docker-compose.yaml index caceb6f..50e004e 100644 --- a/test/docker-compose.yaml +++ b/test/compose/docker-compose.yaml @@ -10,7 +10,7 @@ services: - $CREDENTIALS volumes: - conf:/opt/caddy/conf - - opt:/opt + # - opt:/opt ports: - 80:80 - 443:443 @@ -22,8 +22,8 @@ volumes: type: none device: ${PWD}/conf o: bind - opt: - driver_opts: - type: none - device: ${PWD}/opt - o: bind + # opt: + # driver_opts: + # type: none + # device: ${PWD}/opt + # o: bind diff --git a/test/compose/log b/test/compose/log new file mode 100755 index 0000000..133af74 --- /dev/null +++ b/test/compose/log @@ -0,0 +1,3 @@ +[[ $1 ]] && opt="-n $1" +[[ $1 == "f" ]] && opt="-f" +docker-compose logs $opt \ No newline at end of file diff --git a/test/compose/scrub b/test/compose/scrub new file mode 100755 index 0000000..9e84b2c --- /dev/null +++ b/test/compose/scrub @@ -0,0 +1 @@ +docker-compose down -v diff --git a/test/compose/start b/test/compose/start new file mode 100755 index 0000000..58fb435 --- /dev/null +++ b/test/compose/start @@ -0,0 +1,5 @@ +# if no image run ./build first +source ./build $1 +[[ $force ]] && shift 1 +mkdir -p opt conf +docker-compose ${@:-up} \ No newline at end of file diff --git a/test/compose/stop b/test/compose/stop new file mode 100755 index 0000000..685cc77 --- /dev/null +++ b/test/compose/stop @@ -0,0 +1 @@ +docker-compose down diff --git a/test/compose/term b/test/compose/term new file mode 100755 index 0000000..b344909 --- /dev/null +++ b/test/compose/term @@ -0,0 +1,3 @@ +#!/bin/bash +source .env +docker exec -it caddy-testing bash -l \ No newline at end of file diff --git a/test/get-packages b/test/get-packages index 50bccd4..012d254 100755 --- a/test/get-packages +++ b/test/get-packages @@ -1 +1,3 @@ +# if no image run ./build first +source ./build $1 udbuild try -e test.env -m /opt/caddy/conf -h conf -s list-packages \ No newline at end of file diff --git a/test/shell b/test/shell deleted file mode 100755 index f040638..0000000 --- a/test/shell +++ /dev/null @@ -1 +0,0 @@ -udbuild try -e test.env -m /opt/caddy/conf -h conf shell $@ diff --git a/test/test b/test/test deleted file mode 100755 index 4855b6d..0000000 --- a/test/test +++ /dev/null @@ -1,7 +0,0 @@ -# if no image run ./build first -if docker image inspect testing/caddy >/dev/null 2>&1 ;then -docker-compose ${@:-up} -else -./build -e test -t default -p -docker-compose ${@:-up} -fi \ No newline at end of file diff --git a/test/try b/test/try new file mode 100755 index 0000000..db08db8 --- /dev/null +++ b/test/try @@ -0,0 +1,4 @@ +# if no image run ./build first +source ./build $1 +[[ $force ]] && shift 1 +udbuild try -e test.env -m /opt/caddy/conf -h conf ${@:-shell} \ No newline at end of file