diff --git a/docker-compose.yml b/docker-compose.yml index 18d05f003..d00a4a208 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -26,5 +26,32 @@ services: ports: - 5433:5432 command: ["postgres", "-c", "log_statement=all"] + + varda-rekisterointi-db: + container_name: varda-rekisterointi-db + image: postgres:15.7 + environment: + - POSTGRES_USER=varda-rekisterointi + - POSTGRES_PASSWORD=varda-rekisterointi + - POSTGRES_DB=varda-rekisterointi + ports: + - "5438:5432" + command: ["postgres", "-c", "log_statement=all"] + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + varda-rekisterointi-test-db: + container_name: varda-rekisterointi-test-db + image: postgres:15.7 + environment: + - POSTGRES_USER=varda-rekisterointi + - POSTGRES_PASSWORD=varda-rekisterointi + - POSTGRES_DB=varda-rekisterointi + ports: + - "5439:5432" + command: ["postgres", "-c", "log_statement=all"] + volumes: database-data: diff --git a/scripts/lib/common-functions.sh b/scripts/lib/common-functions.sh index a979e87bc..aa1be439b 100644 --- a/scripts/lib/common-functions.sh +++ b/scripts/lib/common-functions.sh @@ -1,6 +1,16 @@ export repo="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )" readonly node_version=$( cat "$repo/.nvmrc" ) +function wait_for_container_to_be_healthy { + require_docker + local -r container_name="$1" + + info "Waiting for docker container $container_name to be healthy" + until [ "$(docker inspect -f {{.State.Health.Status}} "$container_name" 2>/dev/null || echo "not-running")" == "healthy" ]; do + sleep 2 + done +} + function require_docker { require_command docker docker ps >/dev/null 2>&1 || fatal "Running 'docker ps' failed. Is docker daemon running? Aborting." diff --git a/scripts/run-organisaatio-service.sh b/scripts/run-organisaatio-service.sh index 74f1bc8e4..8e8cc652f 100755 --- a/scripts/run-organisaatio-service.sh +++ b/scripts/run-organisaatio-service.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -o errexit -o nounset -o pipefail -readonly repo="$(cd "$(dirname "${BASH_SOURCE[0]}")" && cd .. && pwd)" +source "$( dirname "${BASH_SOURCE[0]}" )/lib/common-functions.sh" function main { wait_for_local_db_to_be_healthy @@ -18,42 +18,4 @@ function wait_for_local_db_to_be_healthy { wait_for_container_to_be_healthy oph-organisaatio-db } -function wait_for_container_to_be_healthy { - require_docker - local -r container_name="$1" - - info "Waiting for docker container $container_name to be healthy" - until [ "$(docker inspect -f {{.State.Health.Status}} "$container_name" 2>/dev/null || echo "not-running")" == "healthy" ]; do - sleep 2 - done -} - -function require_docker { - require_command docker - docker ps >/dev/null 2>&1 || fatal "Running 'docker ps' failed. Is docker daemon running? Aborting." -} - -function require_command { - if ! command -v "$1" >/dev/null; then - fatal "I require $1 but it's not installed. Aborting." - fi -} - -function info { - log "INFO" "$1" -} - -function fatal { - log "ERROR" "$1" - exit 1 -} - -function log { - local -r level="$1" - local -r message="$2" - local -r timestamp=$(date +"%Y-%m-%d %H:%M:%S") - - echo >&2 -e "${timestamp} ${level} ${message}" -} - main "$@" diff --git a/scripts/run-varda-rekisterointi-ui.sh b/scripts/run-varda-rekisterointi-ui.sh new file mode 100755 index 000000000..1f5ea3a51 --- /dev/null +++ b/scripts/run-varda-rekisterointi-ui.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -o errexit -o nounset -o pipefail +source "$( dirname "${BASH_SOURCE[0]}" )/lib/common-functions.sh" + +function main { + echo "${repo}" + export NVM_DIR="${NVM_DIR:-$HOME/.cache/nvm}" + source "${repo}/scripts/lib/nvm.sh" + + nvm use 20 || nvm install -b 20 && nvm use 20 + + cd "${repo}/varda-rekisterointi" + npm_ci_if_needed + npm start +} + +main "$@" \ No newline at end of file diff --git a/varda-rekisterointi/start-local-backend.sh b/scripts/run-varda-rekisterointi.sh similarity index 57% rename from varda-rekisterointi/start-local-backend.sh rename to scripts/run-varda-rekisterointi.sh index c145dbe5a..b9d746b2f 100755 --- a/varda-rekisterointi/start-local-backend.sh +++ b/scripts/run-varda-rekisterointi.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash set -o errexit -o nounset -o pipefail +source "$( dirname "${BASH_SOURCE[0]}" )/lib/common-functions.sh" function main { select_java_version "21" @@ -11,6 +12,7 @@ function main { SERVICE_USERNAME="dummy" SERVICE_PASSWORD="dummy" + cd "${repo}/varda-rekisterointi" mvn spring-boot:run \ -Dspring-boot.run.profiles=dev \ -Dspring-boot.run.jvmArguments=" @@ -32,42 +34,4 @@ function wait_for_local_db_to_be_healthy { wait_for_container_to_be_healthy varda-rekisterointi-db } -function wait_for_container_to_be_healthy { - require_docker - local -r container_name="$1" - - info "Waiting for docker container $container_name to be healthy" - until [ "$(docker inspect -f {{.State.Health.Status}} "$container_name" 2>/dev/null || echo "not-running")" == "healthy" ]; do - sleep 2 - done -} - -function require_docker { - require_command docker - docker ps >/dev/null 2>&1 || fatal "Running 'docker ps' failed. Is docker daemon running? Aborting." -} - -function require_command { - if ! command -v "$1" >/dev/null; then - fatal "I require $1 but it's not installed. Aborting." - fi -} - -function info { - log "INFO" "$1" -} - -function fatal { - log "ERROR" "$1" - exit 1 -} - -function log { - local -r level="$1" - local -r message="$2" - local -r timestamp=$(date +"%Y-%m-%d %H:%M:%S") - - echo >&2 -e "${timestamp} ${level} ${message}" -} - -main +main "$@" \ No newline at end of file diff --git a/start-local-env.sh b/start-local-env.sh index 0f41d6528..1d6089393 100755 --- a/start-local-env.sh +++ b/start-local-env.sh @@ -30,7 +30,16 @@ function main { tmux splitw -h tmux send-keys "$repo/scripts/run-organisaatio-service.sh" C-m + tmux select-pane -t 1 + tmux splitw -v + tmux send-keys "$repo/scripts/run-varda-rekisterointi.sh" C-m + + tmux select-pane -t 4 + tmux splitw -v + tmux send-keys "$repo/scripts/run-varda-rekisterointi-ui.sh" C-m + open "http://localhost:3003/organisaatio-service/organisaatiot" + open "http://localhost:3000/varda-rekisterointi" tmux attach-session -t "$session" } diff --git a/varda-rekisterointi/docker-compose.yml b/varda-rekisterointi/docker-compose.yml deleted file mode 100644 index d3312de69..000000000 --- a/varda-rekisterointi/docker-compose.yml +++ /dev/null @@ -1,28 +0,0 @@ -services: - database: - container_name: varda-rekisterointi-db - image: postgres:15.7 - environment: - - POSTGRES_USER=varda-rekisterointi - - POSTGRES_PASSWORD=varda-rekisterointi - - POSTGRES_DB=varda-rekisterointi - ports: - - "5432:5432" - command: ["postgres", "-c", "log_statement=all"] - healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres"] - interval: 10s - timeout: 5s - retries: 5 - test-database: - container_name: varda-rekisterointi-test-db - image: postgres:15.7 - environment: - - POSTGRES_USER=varda-rekisterointi - - POSTGRES_PASSWORD=varda-rekisterointi - - POSTGRES_DB=varda-rekisterointi - ports: - - "5433:5432" - command: ["postgres", "-c", "log_statement=all"] -volumes: - database-data: diff --git a/varda-rekisterointi/src/main/resources/application.yml b/varda-rekisterointi/src/main/resources/application.yml index 178f8bffd..a380a5dac 100644 --- a/varda-rekisterointi/src/main/resources/application.yml +++ b/varda-rekisterointi/src/main/resources/application.yml @@ -13,7 +13,7 @@ spring: main: banner-mode: "off" datasource: - url: jdbc:postgresql://localhost:${db.port:5432}/varda-rekisterointi + url: jdbc:postgresql://localhost:5438/varda-rekisterointi username: varda-rekisterointi password: varda-rekisterointi flyway: diff --git a/varda-rekisterointi/src/test/resources/application-test.yml b/varda-rekisterointi/src/test/resources/application-test.yml index 2fcee9dd9..01dbf424d 100644 --- a/varda-rekisterointi/src/test/resources/application-test.yml +++ b/varda-rekisterointi/src/test/resources/application-test.yml @@ -1,6 +1,6 @@ spring: datasource: - url: jdbc:postgresql://localhost:5433/varda-rekisterointi + url: jdbc:postgresql://localhost:5439/varda-rekisterointi username: varda-rekisterointi password: varda-rekisterointi db-scheduler: diff --git a/varda-rekisterointi/start-local-env.sh b/varda-rekisterointi/start-local-env.sh deleted file mode 100755 index 792c10519..000000000 --- a/varda-rekisterointi/start-local-env.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -set -o errexit -o nounset -o pipefail -o xtrace -readonly repo="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -function stop() { - cd "$repo" - docker compose down -} -trap stop EXIT - -function main { - cd "$repo" - local -r session="varda-rekisterointi" - tmux kill-session -t "$session" || true - tmux start-server - tmux new-session -d -s "$session" - - tmux select-pane -t 0 - tmux send-keys "docker compose down --volumes; docker compose up --force-recreate --renew-anon-volumes" C-m - - tmux splitw -v - tmux select-pane -t 1 - tmux send-keys "./start-local-backend.sh" C-m - - tmux splitw -h - tmux select-pane -t 2 - tmux send-keys "npm start" C-m - - open "http://localhost:3000/varda-rekisterointi" - - tmux attach-session -t "$session" -} - -main "$@"