91 lines
2.4 KiB
YAML
91 lines
2.4 KiB
YAML
# ================================
|
||
# SERVICE CONFIG
|
||
# ================================
|
||
|
||
service: default-service # Tên service (duy nhất trong toàn hệ thống)
|
||
enabled: false # true = bật check, false = bỏ qua service này
|
||
interval: 30 # Chu kỳ chạy health check (giây)
|
||
|
||
# ================================
|
||
# CHECK LIST
|
||
# ================================
|
||
checks:
|
||
# ------------------------------------------------
|
||
# 1️⃣ LOGIN CHECK (TOKEN TRONG RESPONSE BODY)
|
||
# - API trả access_token trong JSON
|
||
# - Token sẽ được save vào context
|
||
# ------------------------------------------------
|
||
- type: http # Loại check: http | shell
|
||
name: login-token # Tên check
|
||
|
||
url: http://localhost:4000/api/v1/admin/auth/login
|
||
method: POST
|
||
timeout: 5
|
||
|
||
body:
|
||
email: admin@example.com
|
||
password: Admin@1234
|
||
|
||
# Điều kiện pass
|
||
expect:
|
||
status_code: 200
|
||
json:
|
||
access_token: $.data.access_token
|
||
# ↑ JSONPath phải tồn tại
|
||
|
||
# Lưu token vào context
|
||
save:
|
||
token: $.data.access_token
|
||
# context["token"] = response.data.access_token
|
||
# cookies: __cookies__ => Trường hợp dùng cho cần save cookie
|
||
|
||
# 👉 Check này BLOCKING
|
||
# 👉 Fail là các check phụ thuộc không chạy
|
||
|
||
# ------------------------------------------------
|
||
# 2️⃣ ME CHECK (DÙNG TOKEN TỪ CONTEXT)
|
||
# - Authorization header dùng {{token}}
|
||
# ------------------------------------------------
|
||
- type: http
|
||
name: me
|
||
|
||
url: http://localhost:4000/api/v1/admin/me
|
||
method: GET
|
||
timeout: 3
|
||
|
||
headers:
|
||
Authorization: "Bearer {{token}}"
|
||
# ↑ token lấy từ context của service này
|
||
|
||
expect:
|
||
status_code: 200
|
||
|
||
# ------------------------------------------------
|
||
# 3️⃣ HEALTH CHECK (ĐỘC LẬP)
|
||
# - Không cần login
|
||
# - Login fail vẫn chạy
|
||
# ------------------------------------------------
|
||
- type: http
|
||
name: health
|
||
|
||
url: http://localhost:4000/health
|
||
method: GET
|
||
timeout: 2
|
||
|
||
expect:
|
||
status_code: 200
|
||
|
||
independent: true # 🔥 Không phụ thuộc login
|
||
|
||
# ------------------------------------------------
|
||
# 4️⃣ PROCESS CHECK (SHELL)
|
||
# - Kiểm tra process OS
|
||
# -> Chưa test nào dùng thì viết tiếp
|
||
# ------------------------------------------------
|
||
- type: shell
|
||
name: process
|
||
|
||
command: "pgrep -f auth-service"
|
||
|
||
independent: true
|