From afbd794fd385d3438bb17ae67ef10f9a85f7edc1 Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:00:10 -0300 Subject: [PATCH 01/12] #exposec - criando branch com ambiente para exposec. --- Makefile | 25 +------------------------ docker-compose.yml | 37 ++----------------------------------- install.sh | 42 +++++------------------------------------- 3 files changed, 8 insertions(+), 96 deletions(-) diff --git a/Makefile b/Makefile index 2afe786..a8c1379 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ ENV_FILE = .env.$(ENV) PROJECT_NAME = attendancesystem-$(ENV) NETWORK_NAME = attendancesystem-network -.PHONY: infra app install update reset-network nuke nuke-project +.PHONY: app install update reset-network nuke nuke-project # =============================== # 🧹 Reset Network @@ -14,25 +14,6 @@ reset-network: @echo "🧹 Removendo rede antiga (se existir)..." -docker network rm $(NETWORK_NAME) 2>/dev/null || true -# =============================== -# πŸ— Subir apenas INFRA -# =============================== -infra: reset-network - @echo "πŸ“₯ Baixando imagens de INFRA ($(PROJECT_NAME))..." - docker compose \ - --project-name $(PROJECT_NAME) \ - --env-file $(ENV_FILE) \ - --profile infra \ - -f $(COMPOSE_FILE) \ - pull - @echo "πŸš€ Subindo apenas INFRA ($(PROJECT_NAME))..." - docker compose \ - --project-name $(PROJECT_NAME) \ - --env-file $(ENV_FILE) \ - --profile infra \ - -f $(COMPOSE_FILE) \ - up -d --pull never - # =============================== # 🧩 Subir apenas APP # =============================== @@ -60,7 +41,6 @@ install: docker compose \ --project-name $(PROJECT_NAME) \ --env-file $(ENV_FILE) \ - --profile infra \ --profile app \ -f $(COMPOSE_FILE) \ pull @@ -68,7 +48,6 @@ install: docker compose \ --project-name $(PROJECT_NAME) \ --env-file $(ENV_FILE) \ - --profile infra \ --profile app \ -f $(COMPOSE_FILE) \ up -d --pull never @@ -111,7 +90,6 @@ nuke-project: docker compose \ --project-name $(PROJECT_NAME) \ --env-file $(ENV_FILE) \ - --profile infra \ --profile app \ -f $(COMPOSE_FILE) \ down --volumes --remove-orphans @@ -120,4 +98,3 @@ nuke-project: - docker images --format '{{.Repository}}:{{.Tag}}' | grep '^seventhltda/' | xargs -r docker rmi -f 2>/dev/null || true @echo "βœ… Projeto $(PROJECT_NAME) limpo (containers, volumes, rede e imagens)." - @echo " Imagens de infraestrutura preservadas." diff --git a/docker-compose.yml b/docker-compose.yml index 8d4cc5d..b3290be 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,40 +1,8 @@ services: - # ================= INFRA ================= - mongodb: - image: mongo:${IMAGEM_LATEST} - profiles: ["infra"] - ports: - - "${MONGO_PORT}:27017" - volumes: - - mongodb_data:/data/db - networks: - - app-network - healthcheck: - test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet - interval: 10s - timeout: 5s - retries: 5 - # ================= BACKEND ================= - suite-api: - image: ${DOCKER_REPO}/suite-api:${IMAGEM_UNSTABLE_LATEST} - profiles: ["app"] - ports: - - "${BACKEND_SUITE_API_INTERNAL_PORT}:${BACKEND_SUITE_API_INTERNAL_PORT}" - environment: - - ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT} - - MONGODB_CONNECTION_STRING=${MONGODB_CONNECTION_STRING} - - MONGODB_DATABASE=${MONGODB_DATABASE} - - SYSTEM_BASE_CONN=${SYSTEM_BASE_CONN} - - FRONTEND_CONN=${INTERNAL_HOST}:${FRONTEND_SUITE_APP_INTERNAL_PORT} - - KEEPALIVE_ATTENDANCE_SYSTEM_BACKEND_HOST=${KEEPALIVE_ATTENDANCE_SYSTEM_BACKEND_HOST} - - KEEPALIVE_ATTENDANCE_SYSTEM_FRONTEND_HOST=${KEEPALIVE_ATTENDANCE_SYSTEM_FRONTEND_HOST} - networks: - - app-network - attendancesystem-api: - image: ${DOCKER_REPO}/backend-attendance-system-api:${IMAGEM_RELEASE_1_1} + image: ${DOCKER_REPO}/backend-attendance-system-api:${IMAGEM_RELEASE_1_3} profiles: ["app"] ports: - "${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}" @@ -71,7 +39,7 @@ services: restart: "no" attendancesystem-app: - image: ${DOCKER_REPO}/attendancesystem-frontend:${IMAGEM_RELEASE_1_1} + image: ${DOCKER_REPO}/attendancesystem-frontend:${IMAGEM_RELEASE_1_3} profiles: ["app"] volumes: - config-volume:/config-inject:ro @@ -91,5 +59,4 @@ networks: name: attendancesystem-network volumes: - mongodb_data: config-volume: \ No newline at end of file diff --git a/install.sh b/install.sh index 06658fc..4634abc 100644 --- a/install.sh +++ b/install.sh @@ -303,12 +303,12 @@ show_summary() { echo -e " Porta : ${BOLD}${SYSTEM_BASE_PORT}${NC}" echo "" echo -e " ${BOLD}[3] Portas Internas${NC}" - echo -e " Backend Suite/People/Attendance/Account : ${BOLD}${BACKEND_SUITE_API_INTERNAL_PORT}${NC} / ${BOLD}${BACKEND_PEOPLE_API_INTERNAL_PORT}${NC} / ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}${NC} / ${BOLD}${BACKEND_ACCOUNT_API_INTERNAL_PORT}${NC}" - echo -e " Frontend Suite/People/Attendance/Account : ${BOLD}${FRONTEND_SUITE_APP_INTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_PEOPLE_APP_INTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_ACCOUNT_APP_INTERNAL_PORT}${NC}" + echo -e " Backend Attendance : ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}${NC}" + echo -e " Frontend Attendance : ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT}${NC}" echo "" echo -e " ${BOLD}[4] Portas Externas${NC}" - echo -e " Backend Suite/People/Attendance/Account : ${BOLD}${BACKEND_SUITE_API_EXTERNAL_PORT}${NC} / ${BOLD}${BACKEND_PEOPLE_API_EXTERNAL_PORT}${NC} / ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT}${NC} / ${BOLD}${BACKEND_ACCOUNT_API_EXTERNAL_PORT}${NC}" - echo -e " Frontend Suite/People/Attendance/Account : ${BOLD}${FRONTEND_SUITE_APP_EXTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_PEOPLE_APP_EXTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT}${NC} / ${BOLD}${FRONTEND_ACCOUNT_APP_EXTERNAL_PORT}${NC}" + echo -e " Backend Attendance : ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT}${NC}" + echo -e " Frontend Attendance : ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT}${NC}" echo "" echo -e " ${BOLD}[5] Banco de Dados${NC}" echo -e " MongoDB : ${BOLD}${MONGO_PORT}${NC}" @@ -356,20 +356,9 @@ ASPNETCORE_ENVIRONMENT=Production DOCKER_REPO=seventhltda IMAGEM_LATEST=latest IMAGEM_UNSTABLE_LATEST=unstable-latest -IMAGEM_RELEASE_1_1=1.1 -IMAGEM_RELEASE_1_2=1.2 IMAGEM_RELEASE_1_3=1.3 -IMAGEM_RELEASE_1_4=1.4 -IMAGEM_RELEASE_1_5=1.5 -IMAGEM_RELEASE_1_6=1.6 -IMAGEM_RELEASE_1_7=1.7 NGINX_DEFAULT_PORT=80 -# ── MongoDB ─────────────────────────────────────────────── -MONGO_PORT=${MONGO_PORT} -MONGODB_CONNECTION_STRING=mongodb://mongodb:27017/suitedb -MONGODB_DATABASE=suitedb - # ── Sistema Base ────────────────────────────────────────── SYSTEM_BASE_CONN=${SYSTEM_BASE_CONN} SYSTEM_BASE_HOST=${SYSTEM_BASE_HOST} @@ -380,34 +369,16 @@ INTERNAL_HOST=${INTERNAL_HOST} EXTERNAL_HOST=${EXTERNAL_HOST} # ── Backend ─────────────────────────────────────────────── -BACKEND_SUITE_API_INTERNAL_PORT=${BACKEND_SUITE_API_INTERNAL_PORT} -BACKEND_SUITE_API_EXTERNAL_PORT=${BACKEND_SUITE_API_EXTERNAL_PORT} - BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT=${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT} BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT=${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT} -BACKEND_PEOPLE_API_INTERNAL_PORT=${BACKEND_PEOPLE_API_INTERNAL_PORT} -BACKEND_PEOPLE_API_EXTERNAL_PORT=${BACKEND_PEOPLE_API_EXTERNAL_PORT} - -BACKEND_ACCOUNT_API_INTERNAL_PORT=${BACKEND_ACCOUNT_API_INTERNAL_PORT} -BACKEND_ACCOUNT_API_EXTERNAL_PORT=${BACKEND_ACCOUNT_API_EXTERNAL_PORT} - BACKEND_ATTENDANCESYSTEM_API_APPLICATIONNAME=AttendanceSystem BACKEND_ATTENDANCESYSTEM_API_NAME=attendancesystem-api # ── Frontend ────────────────────────────────────────────── -FRONTEND_SUITE_APP_INTERNAL_PORT=${FRONTEND_SUITE_APP_INTERNAL_PORT} -FRONTEND_SUITE_APP_EXTERNAL_PORT=${FRONTEND_SUITE_APP_EXTERNAL_PORT} - FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT=${FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT} FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT=${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT} -FRONTEND_PEOPLE_APP_INTERNAL_PORT=${FRONTEND_PEOPLE_APP_INTERNAL_PORT} -FRONTEND_PEOPLE_APP_EXTERNAL_PORT=${FRONTEND_PEOPLE_APP_EXTERNAL_PORT} - -FRONTEND_ACCOUNT_APP_INTERNAL_PORT=${FRONTEND_ACCOUNT_APP_INTERNAL_PORT} -FRONTEND_ACCOUNT_APP_EXTERNAL_PORT=${FRONTEND_ACCOUNT_APP_EXTERNAL_PORT} - # ── Keepalive ───────────────────────────────────────────── KEEPALIVE_ATTENDANCE_SYSTEM_BACKEND_HOST=${KEEPALIVE_BACKEND} KEEPALIVE_ATTENDANCE_SYSTEM_FRONTEND_HOST=${KEEPALIVE_FRONTEND} @@ -430,15 +401,12 @@ start_environment() { echo -e " β•‘ βœ… InstalaΓ§Γ£o concluΓ­da com sucesso! β•‘" echo -e " β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•${NC}" echo "" - echo -e " Acesse o sistema em:" - echo -e " ${CYAN}${BOLD} ${SYSTEM_BASE_CONN}${NC}" - echo -e " Menu do usuΓ‘rio: Monitoramento (beta)" + echo -e " Menu do usuΓ‘rio: Monitoramento V1" echo "" echo -e " Comandos ΓΊteis (dentro da pasta ${BOLD}${INSTALL_DIR}${NC}):" echo -e " ${BOLD}make install${NC} β†’ sobe o projeto" echo -e " ${BOLD}make update${NC} β†’ atualiza o projeto" echo -e " ${BOLD}make app${NC} β†’ sobe apenas a aplicaΓ§Γ£o" - echo -e " ${BOLD}make infra${NC} β†’ sobe apenas a infra (MongoDB)" echo -e " ${BOLD}make nuke-project${NC} β†’ limpa o projeto" echo -e " ${BOLD}make nuke${NC} β†’ limpa tudo (cuidado!)" echo "" -- 2.49.1 From f7548fde9567be70ba30c4a4b20cc0503762d93c Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:08:18 -0300 Subject: [PATCH 02/12] =?UTF-8?q?#exposec=20-=20instalar=20vers=C3=A3o=20r?= =?UTF-8?q?eduzida.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 4634abc..9130f6e 100644 --- a/install.sh +++ b/install.sh @@ -4,7 +4,7 @@ # πŸš€ Instalador - AttendanceSystem # Uso: # bash <(curl -fsSL \ -# "https://git.seventh.com.br/seventh.p7/attendance-system.install/raw/branch/main/install.sh") +# "https://git.seventh.com.br/seventh.p7/attendance-system.install/raw/branch/exposec/install.sh") # ============================================================== # ── Redireciona stdin para o terminal quando rodado via curl | bash ── @@ -28,7 +28,7 @@ NC='\033[0m' # ─── RepositΓ³rio Git ────────────────────────────────────────── INSTALL_DIR="attendancesystem" -BRANCH="${BRANCH:-main}" +BRANCH="${BRANCH:-exposec}" ENV_FILE="" GIT_REPO="https://git.seventh.com.br/seventh.p7/attendance-system.install.git" -- 2.49.1 From 7cff90c5e370eed04a0b3ccbe358514e8ce1c7ff Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:10:55 -0300 Subject: [PATCH 03/12] #exposec - baixar a verao exposec por default. --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 9130f6e..752c1b3 100644 --- a/install.sh +++ b/install.sh @@ -28,7 +28,7 @@ NC='\033[0m' # ─── RepositΓ³rio Git ────────────────────────────────────────── INSTALL_DIR="attendancesystem" -BRANCH="${BRANCH:-exposec}" +BRANCH="${BRANCH:-origin/exposec}" ENV_FILE="" GIT_REPO="https://git.seventh.com.br/seventh.p7/attendance-system.install.git" -- 2.49.1 From d7a240efba8f8d888a54bc3f0522617a67e269e4 Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:13:47 -0300 Subject: [PATCH 04/12] =?UTF-8?q?#exposec=20-=20ajustado=20a=20branch=20pa?= =?UTF-8?q?dr=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 752c1b3..9130f6e 100644 --- a/install.sh +++ b/install.sh @@ -28,7 +28,7 @@ NC='\033[0m' # ─── RepositΓ³rio Git ────────────────────────────────────────── INSTALL_DIR="attendancesystem" -BRANCH="${BRANCH:-origin/exposec}" +BRANCH="${BRANCH:-exposec}" ENV_FILE="" GIT_REPO="https://git.seventh.com.br/seventh.p7/attendance-system.install.git" -- 2.49.1 From 42e963ef8ad70c68d9012b49d7a64ac13729712c Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:15:05 -0300 Subject: [PATCH 05/12] #exposec - ajustes no instalador. --- install.sh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/install.sh b/install.sh index 9130f6e..1a7c105 100644 --- a/install.sh +++ b/install.sh @@ -221,28 +221,16 @@ collect_system_base() { collect_internal_ports() { print_section "3. Portas Internas (rede local)" - ask BACKEND_SUITE_API_INTERNAL_PORT "Backend Suite API" "${BACKEND_SUITE_API_INTERNAL_PORT:-10101}" - ask BACKEND_PEOPLE_API_INTERNAL_PORT "Backend People API" "${BACKEND_PEOPLE_API_INTERNAL_PORT:-10100}" ask BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT "Backend AttendanceSystem API" "${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT:-10102}" - ask BACKEND_ACCOUNT_API_INTERNAL_PORT "Backend Account API" "${BACKEND_ACCOUNT_API_INTERNAL_PORT:-10103}" - ask FRONTEND_SUITE_APP_INTERNAL_PORT "Frontend Suite" "${FRONTEND_SUITE_APP_INTERNAL_PORT:-4200}" - ask FRONTEND_PEOPLE_APP_INTERNAL_PORT "Frontend People" "${FRONTEND_PEOPLE_APP_INTERNAL_PORT:-4201}" ask FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT "Frontend AttendanceSystem" "${FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT:-4202}" - ask FRONTEND_ACCOUNT_APP_INTERNAL_PORT "Frontend Account" "${FRONTEND_ACCOUNT_APP_INTERNAL_PORT:-4203}" } collect_external_ports() { print_section "4. Portas Externas (NAT/acesso remoto)" echo -e " ${DIM}Pressione ENTER para usar a mesma porta interna.${NC}\n" - ask BACKEND_SUITE_API_EXTERNAL_PORT "Backend Suite API" "${BACKEND_SUITE_API_EXTERNAL_PORT:-$BACKEND_SUITE_API_INTERNAL_PORT}" - ask BACKEND_PEOPLE_API_EXTERNAL_PORT "Backend People API" "${BACKEND_PEOPLE_API_EXTERNAL_PORT:-$BACKEND_PEOPLE_API_INTERNAL_PORT}" ask BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT "Backend AttendanceSystem API" "${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT:-$BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}" - ask BACKEND_ACCOUNT_API_EXTERNAL_PORT "Backend Account API" "${BACKEND_ACCOUNT_API_EXTERNAL_PORT:-$BACKEND_ACCOUNT_API_INTERNAL_PORT}" - ask FRONTEND_SUITE_APP_EXTERNAL_PORT "Frontend Suite" "${FRONTEND_SUITE_APP_EXTERNAL_PORT:-$FRONTEND_SUITE_APP_INTERNAL_PORT}" - ask FRONTEND_PEOPLE_APP_EXTERNAL_PORT "Frontend People" "${FRONTEND_PEOPLE_APP_EXTERNAL_PORT:-$FRONTEND_PEOPLE_APP_INTERNAL_PORT}" ask FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT "Frontend AttendanceSystem" "${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT:-$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT}" - ask FRONTEND_ACCOUNT_APP_EXTERNAL_PORT "Frontend Account" "${FRONTEND_ACCOUNT_APP_EXTERNAL_PORT:-$FRONTEND_ACCOUNT_APP_INTERNAL_PORT}" } collect_database() { @@ -269,14 +257,8 @@ collect_config() { else collect_internal_ports # Copia internas β†’ externas automaticamente - BACKEND_SUITE_API_EXTERNAL_PORT="$BACKEND_SUITE_API_INTERNAL_PORT" - BACKEND_PEOPLE_API_EXTERNAL_PORT="$BACKEND_PEOPLE_API_INTERNAL_PORT" BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT="$BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT" - BACKEND_ACCOUNT_API_EXTERNAL_PORT="$BACKEND_ACCOUNT_API_INTERNAL_PORT" - FRONTEND_SUITE_APP_EXTERNAL_PORT="$FRONTEND_SUITE_APP_INTERNAL_PORT" - FRONTEND_PEOPLE_APP_EXTERNAL_PORT="$FRONTEND_PEOPLE_APP_INTERNAL_PORT" FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT="$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT" - FRONTEND_ACCOUNT_APP_EXTERNAL_PORT="$FRONTEND_ACCOUNT_APP_INTERNAL_PORT" print_ok "Portas externas definidas iguais Γ s internas." fi -- 2.49.1 From 81a322a4d249a6e3172baf4b5bf0e61596cb4869 Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:17:58 -0300 Subject: [PATCH 06/12] #exposec - ajustes no instalador de novo. --- install.sh | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/install.sh b/install.sh index 1a7c105..040da8c 100644 --- a/install.sh +++ b/install.sh @@ -233,11 +233,6 @@ collect_external_ports() { ask FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT "Frontend AttendanceSystem" "${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT:-$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT}" } -collect_database() { - print_section "5. Banco de Dados" - ask MONGO_PORT "MongoDB (porta interna)" "${MONGO_PORT:-27017}" -} - # ══════════════════════════════════════════════════════════════ # Wizard principal β€” coleta com navegaΓ§Γ£o # ══════════════════════════════════════════════════════════════ @@ -261,8 +256,6 @@ collect_config() { FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT="$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT" print_ok "Portas externas definidas iguais Γ s internas." fi - - collect_database } # ══════════════════════════════════════════════════════════════ @@ -292,9 +285,6 @@ show_summary() { echo -e " Backend Attendance : ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT}${NC}" echo -e " Frontend Attendance : ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT}${NC}" echo "" - echo -e " ${BOLD}[5] Banco de Dados${NC}" - echo -e " MongoDB : ${BOLD}${MONGO_PORT}${NC}" - echo "" echo -e " ──────────────────────────────────────────────────────────────" echo -e " ${GREEN}${BOLD}[C]${NC} Confirmar e continuar ${RED}${BOLD}[X]${NC} Cancelar instalaΓ§Γ£o" echo -e " ──────────────────────────────────────────────────────────────" @@ -307,7 +297,6 @@ show_summary() { 2) collect_system_base ;; 3) collect_internal_ports ;; 4) collect_external_ports ;; - 5) collect_database ;; C) break ;; X) echo "" @@ -315,7 +304,7 @@ show_summary() { exit 0 ;; *) - print_warn "OpΓ§Γ£o invΓ‘lida. Digite 1-5, C ou X." + print_warn "OpΓ§Γ£o invΓ‘lida. Digite 1-4, C ou X." ;; esac done -- 2.49.1 From 257caf537ce9caefaaaca3f38347ef4bf32fbf13 Mon Sep 17 00:00:00 2001 From: renator2 Date: Tue, 12 May 2026 12:47:14 -0300 Subject: [PATCH 07/12] =?UTF-8?q?#exposec=20-=20ajustes=20no=20arquivo=20p?= =?UTF-8?q?adr=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.template.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config.template.json b/config.template.json index 7667c31..36b4132 100644 --- a/config.template.json +++ b/config.template.json @@ -7,15 +7,15 @@ }, "urlLgpd": "https://lgpd.seventh.com.br/feedback?product=situator", "modules": { - "suite": "${FRONTEND_SUITE_URL}", + "suite": "", "attendance": "${FRONTEND_ATTENDANCE_URL}", - "account": "${FRONTEND_ACCOUNT_URL}", - "people": "${FRONTEND_PEOPLE_URL}" + "account": "", + "people": "" }, "api": { - "suite": "${BACKEND_SUITE_API_URL}", - "people": "${BACKEND_PEOPLE_API_URL}", - "account": "${BACKEND_ACCOUNT_API_URL}", + "suite": "", + "people": "", + "account": "", "attendance": "${BACKEND_ATTENDANCE_API_URL}" } } \ No newline at end of file -- 2.49.1 From f8e94a53194d28429fca1184b70c624583346b3f Mon Sep 17 00:00:00 2001 From: renator2 Date: Mon, 8 Jun 2026 10:55:04 -0300 Subject: [PATCH 08/12] =?UTF-8?q?#main=20-=20ajuste=20na=20branch=20de=20i?= =?UTF-8?q?nstala=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 040da8c..985f2d4 100644 --- a/install.sh +++ b/install.sh @@ -4,7 +4,7 @@ # πŸš€ Instalador - AttendanceSystem # Uso: # bash <(curl -fsSL \ -# "https://git.seventh.com.br/seventh.p7/attendance-system.install/raw/branch/exposec/install.sh") +# "https://git.seventh.com.br/seventh.p7/attendance-system.install/raw/branch/main/install.sh") # ============================================================== # ── Redireciona stdin para o terminal quando rodado via curl | bash ── @@ -28,7 +28,7 @@ NC='\033[0m' # ─── RepositΓ³rio Git ────────────────────────────────────────── INSTALL_DIR="attendancesystem" -BRANCH="${BRANCH:-exposec}" +BRANCH="${BRANCH:-main}" ENV_FILE="" GIT_REPO="https://git.seventh.com.br/seventh.p7/attendance-system.install.git" -- 2.49.1 From 81af70646fd07b8373c7ee862acbe2d23958a1db Mon Sep 17 00:00:00 2001 From: tainaCarvalho Date: Tue, 30 Jun 2026 13:12:10 -0300 Subject: [PATCH 09/12] SDA-304 - add fix --- Makefile | 3 ++- attendancesystem | 1 + docker-compose.yml | 3 +++ install.sh | 44 +++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 49 insertions(+), 2 deletions(-) create mode 160000 attendancesystem diff --git a/Makefile b/Makefile index a8c1379..b032e9a 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,8 @@ ENV ?= prod COMPOSE_FILE = docker-compose.yml ENV_FILE = .env.$(ENV) -PROJECT_NAME = attendancesystem-$(ENV) +CONTAINER_POSTFIX := $(shell grep '^CONTAINER_POSTFIX=' $(ENV_FILE) 2>/dev/null | cut -d'=' -f2-) +PROJECT_NAME = attendancesystem-$(ENV)$(if $(CONTAINER_POSTFIX),-$(CONTAINER_POSTFIX),) NETWORK_NAME = attendancesystem-network .PHONY: app install update reset-network nuke nuke-project diff --git a/attendancesystem b/attendancesystem new file mode 160000 index 0000000..f8238b9 --- /dev/null +++ b/attendancesystem @@ -0,0 +1 @@ +Subproject commit f8238b9ac3dee919ab7a5e5ada54d5f3d8ec6d14 diff --git a/docker-compose.yml b/docker-compose.yml index b3290be..f4be348 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ services: # ================= BACKEND ================= attendancesystem-api: + container_name: attendancesystem-api${CONTAINER_NAME_SUFFIX} image: ${DOCKER_REPO}/backend-attendance-system-api:${IMAGEM_RELEASE_1_3} profiles: ["app"] ports: @@ -15,6 +16,7 @@ services: # ================= FRONTEND ================= config-generator: + container_name: config-generator${CONTAINER_NAME_SUFFIX} image: alpine:${IMAGEM_LATEST} profiles: ["app"] environment: @@ -39,6 +41,7 @@ services: restart: "no" attendancesystem-app: + container_name: attendancesystem-app${CONTAINER_NAME_SUFFIX} image: ${DOCKER_REPO}/attendancesystem-frontend:${IMAGEM_RELEASE_1_3} profiles: ["app"] volumes: diff --git a/install.sh b/install.sh index 985f2d4..e8cada1 100644 --- a/install.sh +++ b/install.sh @@ -91,6 +91,24 @@ ask() { eval "$varname=\"$value\"" } +ask_optional() { + # ask_optional [default] + local varname="$1" + local prompt="$2" + local default="$3" + local value="" + + if [ -n "$default" ]; then + echo -ne " ${BOLD}${prompt}${NC} ${DIM}[${default}]${NC} ${DIM}(ENTER para nenhum)${NC}: " + else + echo -ne " ${BOLD}${prompt}${NC} ${DIM}(ENTER para nenhum)${NC}: " + fi + + read -r value + value="${value:-$default}" + eval "$varname=\"$value\"" +} + confirm() { echo -ne " ${BOLD}$1${NC} ${CYAN}[s/N]${NC}: " read -r resp @@ -233,6 +251,14 @@ collect_external_ports() { ask FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT "Frontend AttendanceSystem" "${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT:-$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT}" } +collect_container_postfix() { + print_section "5. Identificador de instΓ’ncia (postfix dos containers)" + echo -e " ${DIM}Distingue containers de mΓΊltiplas instalaΓ§Γ΅es na mesma mΓ‘quina.${NC}" + echo -e " ${DIM}Exemplo: 'cliente1' β†’ 'attendancesystem-api-cliente1', etc.${NC}" + echo -e " ${DIM}Deixe em branco para manter o comportamento padrΓ£o.${NC}\n" + ask_optional CONTAINER_POSTFIX "Postfix" "${CONTAINER_POSTFIX:-}" +} + # ══════════════════════════════════════════════════════════════ # Wizard principal β€” coleta com navegaΓ§Γ£o # ══════════════════════════════════════════════════════════════ @@ -256,6 +282,8 @@ collect_config() { FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT="$FRONTEND_ATTENDANCESYSTEM_APP_INTERNAL_PORT" print_ok "Portas externas definidas iguais Γ s internas." fi + + collect_container_postfix } # ══════════════════════════════════════════════════════════════ @@ -285,6 +313,13 @@ show_summary() { echo -e " Backend Attendance : ${BOLD}${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT}${NC}" echo -e " Frontend Attendance : ${BOLD}${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT}${NC}" echo "" + echo -e " ${BOLD}[5] Identificador de instΓ’ncia${NC}" + if [ -n "$CONTAINER_POSTFIX" ]; then + echo -e " Postfix : ${BOLD}${CONTAINER_POSTFIX}${NC}" + else + echo -e " Postfix : ${DIM}(nenhum β€” comportamento padrΓ£o)${NC}" + fi + echo "" echo -e " ──────────────────────────────────────────────────────────────" echo -e " ${GREEN}${BOLD}[C]${NC} Confirmar e continuar ${RED}${BOLD}[X]${NC} Cancelar instalaΓ§Γ£o" echo -e " ──────────────────────────────────────────────────────────────" @@ -297,6 +332,7 @@ show_summary() { 2) collect_system_base ;; 3) collect_internal_ports ;; 4) collect_external_ports ;; + 5) collect_container_postfix ;; C) break ;; X) echo "" @@ -304,7 +340,7 @@ show_summary() { exit 0 ;; *) - print_warn "OpΓ§Γ£o invΓ‘lida. Digite 1-4, C ou X." + print_warn "OpΓ§Γ£o invΓ‘lida. Digite 1-5, C ou X." ;; esac done @@ -321,6 +357,8 @@ generate_envs() { local SYSTEM_BASE_CONN="${SYSTEM_BASE_HOST}:${SYSTEM_BASE_PORT}" local KEEPALIVE_BACKEND="${EXTERNAL_HOST}:${BACKEND_ATTENDANCESYSTEM_API_EXTERNAL_PORT}" local KEEPALIVE_FRONTEND="${EXTERNAL_HOST}:${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT}" + local CONTAINER_NAME_SUFFIX="" + [ -n "$CONTAINER_POSTFIX" ] && CONTAINER_NAME_SUFFIX="-${CONTAINER_POSTFIX}" cat > "$BASE_DIR/.env.prod" < Date: Tue, 30 Jun 2026 16:50:23 -0300 Subject: [PATCH 10/12] SDA-304 - change branch --- .gitignore | 3 ++- attendancesystem | 1 - install.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 160000 attendancesystem mode change 100644 => 100755 install.sh diff --git a/.gitignore b/.gitignore index fedf540..0b9b777 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,5 @@ Thumbs.db *.avi *.flv *.mov -*.wmv \ No newline at end of file +*.wmv +attendancesystem/ diff --git a/attendancesystem b/attendancesystem deleted file mode 160000 index f8238b9..0000000 --- a/attendancesystem +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f8238b9ac3dee919ab7a5e5ada54d5f3d8ec6d14 diff --git a/install.sh b/install.sh old mode 100644 new mode 100755 index e8cada1..db66062 --- a/install.sh +++ b/install.sh @@ -28,7 +28,7 @@ NC='\033[0m' # ─── RepositΓ³rio Git ────────────────────────────────────────── INSTALL_DIR="attendancesystem" -BRANCH="${BRANCH:-main}" +BRANCH="${BRANCH:-feature/SDA-304}" ENV_FILE="" GIT_REPO="https://git.seventh.com.br/seventh.p7/attendance-system.install.git" -- 2.49.1 From 5221314c0da6b0b74c40bcae0c1ec9e3f400d9be Mon Sep 17 00:00:00 2001 From: tainaCarvalho Date: Tue, 30 Jun 2026 17:03:34 -0300 Subject: [PATCH 11/12] SDA-304 - add port internal --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index f4be348..621eb36 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,7 @@ services: ports: - "${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}" environment: + - ASPNETCORE_URLS=http://*:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT} - SYSBASE_URL=${SYSTEM_BASE_CONN} - SystemBaseConn=${SYSTEM_BASE_CONN} - FrotendConn=${EXTERNAL_HOST}:${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT} -- 2.49.1 From 803291ee7821b4e0131ad1ca23b57f358ece55e2 Mon Sep 17 00:00:00 2001 From: tainaCarvalho Date: Tue, 30 Jun 2026 17:21:24 -0300 Subject: [PATCH 12/12] SDA-304 -subindo na porta correta --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 621eb36..c5346ea 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ services: - "${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT}" environment: - ASPNETCORE_URLS=http://*:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT} + - Kestrel__Endpoints__Http__Url=http://*:${BACKEND_ATTENDANCESYSTEM_API_INTERNAL_PORT} - SYSBASE_URL=${SYSTEM_BASE_CONN} - SystemBaseConn=${SYSTEM_BASE_CONN} - FrotendConn=${EXTERNAL_HOST}:${FRONTEND_ATTENDANCESYSTEM_APP_EXTERNAL_PORT} -- 2.49.1