Compare commits

...

2 Commits

Author SHA1 Message Date
Flo
9dde2c0aeb __devenv 2024-12-21 02:40:06 +01:00
Flo
669a6f9b33 __devenv 2024-12-21 02:37:03 +01:00
13 changed files with 101 additions and 58 deletions

8
.gitignore vendored
View File

@ -1,7 +1,11 @@
bin/cron/ bin/cron/
var/
docker/letsencrypt*
docker/docker-compose.yml
systems/* systems/*
var/
script/clone .alias
.systems

View File

@ -5,5 +5,5 @@
# #
# LIKE CRON - THE FILE HAS TO END WITH AN EMPTY LINE # LIKE CRON - THE FILE HAS TO END WITH AN EMPTY LINE
# #
backend weedkeeper/backend ssh://git@docker.local:222/flo/weedkeeper-backend.git backend template/backend ssh://git@docker.local:222/flo/template-backend.git
frontend weedkeeper/frontend ssh://git@docker.local:222/flo/weedkeeper-frontend.git frontend template/frontend ssh://git@docker.local:222/flo/template-frontend.git

12
build
View File

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
source $SCRIPT_DIR/bin/denv denv_info_msg "Executing build dev-env"
source $SCRIPT_DIR/bin/dexec docker compose -f "$ENV_DIR/docker/docker-compose.yml" build
source $SCRIPT_DIR/bin/drun echo ""
denvexec build $ENV_DIR/script/foreachSystem/dcom build
$SCRIPT_DIR/bin/script/foreachSystem build

3
docker/.gitignore vendored
View File

@ -1,3 +0,0 @@
letsencrypt/*
docker-compose-mac.yml
docker-compose.yml

12
down
View File

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
source $SCRIPT_DIR/bin/denv denv_info_msg "Executing down dev-env"
source $SCRIPT_DIR/bin/dexec docker compose -f "$ENV_DIR/docker/docker-compose.yml" down
source $SCRIPT_DIR/bin/drun echo ""
$SCRIPT_DIR/bin/script/foreachSystem down $ENV_DIR/script/foreachSystem/dcom down
denvexec down

4
init
View File

@ -1,10 +1,12 @@
#!/bin/bash #!/bin/bash
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
# Check docker-compose.yml file # Check docker-compose.yml file
if [ ! -f "$ENV_DIR/docker/docker-compose.yml" ] if [ ! -f "$ENV_DIR/docker/docker-compose.yml" ]
then then
cp "$ENV_DIR/docker/docker-compose.yml.dist" "$ENV_DIR/docker/docker-compose.yml" cp "$ENV_DIR/docker/docker-compose.yml.dist" "$ENV_DIR/docker/docker-compose.yml"
denv_info_msg "[dev-env]: docker-compose.yml created"
fi fi
# Update .profile # Update .profile
@ -16,4 +18,4 @@ $ENV_DIR/script/clone
echo "" echo ""
# Run init for all systems # Run init for all systems
./script/foreachSystem init $ENV_DIR/script/foreachSystem/runScript init

34
script/clone Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd )
CONFIG_FILE="$ENV_DIR/.systems"
source $ENV_DIR/bin/denv_msg
# Check if .systems configuration exists
if [ ! -f "$CONFIG_FILE" ]; then
denv_error_msg "$CONFIG_FILE not found."
exit 1
fi
denv_info_msg "[dev-env]: Cloning all systems defined in $CONFIG_FILE"
# Iterate through all lines in .systems configuration
while IFS=' ' read -r IDENTIFIER DIRECTORY GIT; do
# Skip comments and emtpy lines
if [[ "$IDENTIFIER" =~ ^#.* ]] || [ -z "$IDENTIFIER" ]; then
continue
fi
denv_info_msg "System $IDENTIFIER"
DIRECTORY="systems/$DIRECTORY"
# Check if system directory already exists
if [ ! -d "$DIRECTORY" ]; then
denv_info_msg "Clone into directory '$DIRECTORY'..."
git clone "$GIT" "$DIRECTORY"
denv_success_msg "Successfully cloned $IDENTIFIER"
else
denv_echo_msg "Directory '$DIRECTORY' already exists. Skipping..."
fi
echo ""
done < "$CONFIG_FILE"

24
script/foreachSystem/dcom Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
source $ENV_DIR/bin/dcom
COMMAND="$@"
CONFIG_FILE="$ENV_DIR/.systems"
# Check if .systems configuration exists
if [ ! -f "$CONFIG_FILE" ]; then
denv_error_msg "$CONFIG_FILE not found."
exit 1
fi
denv_info_msg "Executing $COMMAND for all systems defined in $CONFIG_FILE"
while IFS=' ' read -r IDENTIFIER DIRECTORY GIT; do # Iterate through all lines in .systems configuration
if [[ "$IDENTIFIER" =~ ^#.* ]] || [ -z "$IDENTIFIER" ]; then # Skip comments and emtpy lines
continue
fi
dcom $IDENTIFIER $COMMAND
echo ""
done < "$CONFIG_FILE"

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
COMMAND="$@" COMMAND="$@"
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd ) ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )
CONFIG_FILE="$ENV_DIR/.systems" CONFIG_FILE="$ENV_DIR/.systems"
source $ENV_DIR/bin/denv_msg source $ENV_DIR/bin/denv_msg

12
stop
View File

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
source $SCRIPT_DIR/bin/denv denv_info_msg "Executing stop dev-env"
source $SCRIPT_DIR/bin/dexec docker compose -f "$ENV_DIR/docker/docker-compose.yml" stop
source $SCRIPT_DIR/bin/drun echo ""
$SCRIPT_DIR/bin/script/foreachSystem stop $ENV_DIR/script/foreachSystem/dcom stop
denvexec stop

10
up
View File

@ -0,0 +1,10 @@
#!/bin/bash
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source $ENV_DIR/bin/denv_msg
denv_info_msg "Executing up -d dev-env"
docker compose -f "$ENV_DIR/docker/docker-compose.yml" up -d
echo ""
$ENV_DIR/script/foreachSystem/dcom up -d

34
update
View File

@ -1,33 +1,5 @@
#!/bin/bash #!/bin/bash
ENV_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) # Run update for all systems
$ENV_DIR/script/foreachSystem/runScript update
source $SCRIPT_DIR/bin/denv
source $SCRIPT_DIR/bin/dexec
source $SCRIPT_DIR/bin/drun
EXIT=0
# Check docker-compose.yml file
if [ ! -f "$SCRIPT_DIR/docker/docker-compose.yml" ]
then
cp "$SCRIPT_DIR/docker/docker-compose.yml.dist" "$SCRIPT_DIR/docker/docker-compose.yml"
EXIT=1
fi
# Check docker-compose-mac.yml file
if [ ! -f "$SCRIPT_DIR/docker/docker-compose-mac.yml" ]
then
cp "$SCRIPT_DIR/docker/docker-compose-mac.yml.dist" "$SCRIPT_DIR/docker/docker-compose-mac.yml"
EXIT=1
fi
if [ $EXIT -eq 1 ]
then
echo "docker-compose files created, please change variables and call update again"
exit 1
fi
denvexec up -d
$SCRIPT_DIR/bin/script/foreachSystem update