Skip to content

Commit bb2ccf4

Browse files
committed
deploy update
1 parent 6c15e51 commit bb2ccf4

File tree

2 files changed

+30
-42
lines changed

2 files changed

+30
-42
lines changed

.github/workflows/stack-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ jobs:
179179
run: cp backend/.env.test backend/.env
180180

181181
- name: Start full stack
182-
run: ./deploy.sh dev --ci
182+
run: ./deploy.sh dev --wait
183183

184184
- name: Seed test users
185185
run: docker compose exec -T backend uv run python scripts/seed_users.py

deploy.sh

Lines changed: 29 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ show_help() {
5757
echo "Commands:"
5858
echo " dev [options] Start full stack (docker-compose)"
5959
echo " --build Rebuild images"
60-
echo " --ci CI mode: skip observability, wait for healthy"
6160
echo " --wait Wait for services to be healthy"
62-
echo " --no-observability Skip Jaeger, Grafana, metrics collectors"
6361
echo " --timeout <secs> Health check timeout (default: 300)"
6462
echo " infra [options] Start infrastructure only (mongo, redis, kafka, etc.)"
6563
echo " --wait Wait for services to be healthy"
@@ -80,13 +78,16 @@ show_help() {
8078
echo " --local Force local build even with --prod values"
8179
echo " --set key=value Override Helm values"
8280
echo ""
81+
echo "Configuration:"
82+
echo " All settings come from backend/.env (single source of truth)"
83+
echo " For CI/tests: cp backend/.env.test backend/.env"
84+
echo " Observability (Jaeger, Grafana) auto-enabled if OTEL_EXPORTER_OTLP_ENDPOINT is set"
85+
echo ""
8386
echo "Examples:"
8487
echo " ./deploy.sh dev # Start dev environment"
8588
echo " ./deploy.sh dev --build # Rebuild and start"
89+
echo " ./deploy.sh dev --wait # Start and wait for healthy"
8690
echo " ./deploy.sh prod # Deploy with local images"
87-
echo " ./deploy.sh prod --prod # Deploy with registry images (no build)"
88-
echo " ./deploy.sh prod --prod --local # Deploy prod values but build locally"
89-
echo " ./deploy.sh prod --set mongodb.auth.rootPassword=secret"
9091
echo " ./deploy.sh logs backend # View backend logs"
9192
}
9293

@@ -97,27 +98,15 @@ cmd_dev() {
9798
print_header "Starting Local Development Environment"
9899

99100
local BUILD_FLAG=""
100-
local PROFILE_FLAGS="--profile observability"
101101
local WAIT_FLAG=""
102102
local WAIT_TIMEOUT="300"
103-
local CI_MODE=false
104103

105104
while [[ $# -gt 0 ]]; do
106105
case "$1" in
107106
--build)
108107
BUILD_FLAG="--build"
109108
print_info "Rebuilding images..."
110109
;;
111-
--no-observability)
112-
PROFILE_FLAGS=""
113-
print_info "Skipping observability services (Jaeger, Grafana, etc.)"
114-
;;
115-
--ci)
116-
PROFILE_FLAGS=""
117-
WAIT_FLAG="--wait"
118-
CI_MODE=true
119-
print_info "CI mode: skipping observability, waiting for healthy"
120-
;;
121110
--wait)
122111
WAIT_FLAG="--wait"
123112
;;
@@ -134,34 +123,33 @@ cmd_dev() {
134123
WAIT_TIMEOUT_FLAG="--wait-timeout $WAIT_TIMEOUT"
135124
fi
136125

137-
# In CI mode, disable tracing (no Jaeger). Otherwise let env_file control it.
138-
if [[ "$CI_MODE" == "true" ]]; then
139-
ENABLE_TRACING=false docker compose $PROFILE_FLAGS up -d $BUILD_FLAG $WAIT_FLAG $WAIT_TIMEOUT_FLAG
126+
# Auto-detect observability: enable if OTEL endpoint is configured in .env
127+
local PROFILE_FLAGS=""
128+
if grep -q "^OTEL_EXPORTER_OTLP_ENDPOINT=" ./backend/.env 2>/dev/null; then
129+
PROFILE_FLAGS="--profile observability"
130+
print_info "Observability enabled (OTEL endpoint configured in .env)"
140131
else
141-
docker compose $PROFILE_FLAGS up -d $BUILD_FLAG $WAIT_FLAG $WAIT_TIMEOUT_FLAG
132+
print_info "Observability disabled (no OTEL endpoint in .env)"
142133
fi
143134

144-
if [[ "$CI_MODE" == "true" ]]; then
145-
print_success "Stack started and healthy"
146-
docker compose ps
147-
else
148-
echo ""
149-
print_success "Development environment started!"
150-
echo ""
151-
echo "Services:"
152-
echo " Backend: https://localhost:443"
153-
echo " Frontend: https://localhost:5001"
154-
echo " Kafdrop: http://localhost:9000"
155-
if [[ -n "$PROFILE_FLAGS" ]]; then
156-
echo " Jaeger: http://localhost:16686"
157-
echo " Grafana: http://localhost:3000"
158-
fi
159-
echo ""
160-
echo "Commands:"
161-
echo " ./deploy.sh logs # View all logs"
162-
echo " ./deploy.sh logs backend # View backend logs"
163-
echo " ./deploy.sh down # Stop all services"
135+
docker compose $PROFILE_FLAGS up -d $BUILD_FLAG $WAIT_FLAG $WAIT_TIMEOUT_FLAG
136+
137+
echo ""
138+
print_success "Development environment started!"
139+
echo ""
140+
echo "Services:"
141+
echo " Backend: https://localhost:443"
142+
echo " Frontend: https://localhost:5001"
143+
echo " Kafdrop: http://localhost:9000"
144+
if [[ -n "$PROFILE_FLAGS" ]]; then
145+
echo " Jaeger: http://localhost:16686"
146+
echo " Grafana: http://localhost:3000"
164147
fi
148+
echo ""
149+
echo "Commands:"
150+
echo " ./deploy.sh logs # View all logs"
151+
echo " ./deploy.sh logs backend # View backend logs"
152+
echo " ./deploy.sh down # Stop all services"
165153
}
166154

167155
cmd_down() {

0 commit comments

Comments
 (0)