This repository was archived by the owner on Nov 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml
More file actions
123 lines (107 loc) · 4.24 KB
/
config.yaml
File metadata and controls
123 lines (107 loc) · 4.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
server:
port: ":8080"
# IMPORTANT: This secret MUST be identical to the 'jwt.secret' value in your
# Spring Boot application.properties files. Use environment variables in production.
jwt_secret: "YourSuperSecretKeyForJWTGoesHereAndItMustBeVeryLongForSecurityPurposes"
services:
# --- Authentication Service (Port 8081) ---
- name: "auth"
path_prefix: "/api/v1/auth"
target_url: "http://localhost:8081"
strip_prefix: "/api/v1/auth"
auth_required: false # Login/Register must be public
env_var: "AUTH_SERVICE_URL"
- name: "users"
path_prefix: "/api/v1/users"
target_url: "http://localhost:8081" # Also points to the auth service
strip_prefix: "/api/v1"
auth_required: true
env_var: "AUTH_SERVICE_URL" # Shares the same backend as auth
# --- Vehicle Service (Port 8082) ---
- name: "vehicles"
path_prefix: "/api/v1/vehicles"
target_url: "http://localhost:8082"
strip_prefix: "/api/v1"
auth_required: true
# env_var not specified - will auto-generate: VEHICLES_SERVICE_URL
# --- Appointment & Scheduling Service (Port 8083) ---
# Public availability check (no authentication required)
- name: "appointments-availability"
path_prefix: "/api/v1/appointments/availability"
target_url: "http://localhost:8083"
strip_prefix: "/api/v1"
auth_required: false # Public endpoint
env_var: "APPOINTMENTS_SERVICE_URL"
# Protected appointment endpoints
- name: "appointments"
path_prefix: "/api/v1/appointments"
target_url: "http://localhost:8083"
strip_prefix: "/api/v1"
auth_required: true
# env_var not specified - will auto-generate: APPOINTMENTS_SERVICE_URL
# Service Types (also handled by Appointment Service)
- name: "service-types"
path_prefix: "/api/v1/service-types"
target_url: "http://localhost:8083"
strip_prefix: "/api/v1"
auth_required: true
env_var: "APPOINTMENTS_SERVICE_URL"
# --- Service & Project Management Service (Port 8084) ---
- name: "services"
path_prefix: "/api/v1/services"
target_url: "http://localhost:8084"
strip_prefix: "/api/v1"
auth_required: true
env_var: "PROJECT_SERVICE_URL" # Points to project service
- name: "projects"
path_prefix: "/api/v1/projects"
target_url: "http://localhost:8084" # Also points to the project service
strip_prefix: "/api/v1"
auth_required: true
env_var: "PROJECT_SERVICE_URL" # Shares the same backend
# --- Time Logging Service (Port 8085) ---
- name: "time-logs"
path_prefix: "/api/v1/time-logs"
target_url: "http://localhost:8085"
strip_prefix: "/api/v1"
auth_required: true
# env_var not specified - will auto-generate: TIME_LOGS_SERVICE_URL
# --- Payment & Billing Service (Port 8086) ---
- name: "payments"
path_prefix: "/api/v1/payments"
target_url: "http://localhost:8086"
strip_prefix: "/api/v1"
auth_required: true
env_var: "PAYMENT_SERVICE_URL"
- name: "invoices"
path_prefix: "/api/v1/invoices"
target_url: "http://localhost:8086" # Also points to the payment service
strip_prefix: "/api/v1"
auth_required: true
env_var: "PAYMENT_SERVICE_URL" # Shares the same backend
# --- Admin & Reporting Service (Port 8087) ---
- name: "admin"
path_prefix: "/api/v1/admin"
target_url: "http://localhost:8087"
strip_prefix: "/api/v1"
auth_required: true
# env_var not specified - will auto-generate: ADMIN_SERVICE_URL
# --- Notification Service (Port 8088) ---
- name: "notifications"
path_prefix: "/api/v1/notifications"
target_url: "http://localhost:8088"
strip_prefix: "/api/v1"
auth_required: true
# env_var not specified - will auto-generate: NOTIFICATIONS_SERVICE_URL
# --- Bonus Features (For Later Implementation) ---
- name: "websocket"
path_prefix: "/ws/" # Websocket connections might not use the /api/v1 prefix
target_url: "http://localhost:8088" # Assuming a future port for this service
strip_prefix: "/ws"
auth_required: true # The connection itself needs an auth token
- name: "ai"
path_prefix: "/api/v1/ai/"
target_url: "http://localhost:8091" # Agent Bot service (Python FastAPI)
strip_prefix: "/api/v1/ai" # Strip to match Agent Bot's internal routing
auth_required: true
env_var: "AGENT_BOT_SERVICE_URL"