@semiont/cli 0.4.5 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +892 -2229
- package/package.json +7 -7
- package/dist/templates/envoy.yaml +0 -205
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semiont/cli",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "Semiont CLI - Unified environment management tool",
|
|
5
5
|
"_comment": "AWS SDK dependencies (@aws-sdk/*) are only used by platforms/aws",
|
|
6
6
|
"type": "module",
|
|
@@ -64,12 +64,12 @@
|
|
|
64
64
|
"@aws-sdk/client-secrets-manager": "^3.600.0",
|
|
65
65
|
"@aws-sdk/client-sts": "^3.859.0",
|
|
66
66
|
"@aws-sdk/client-wafv2": "^3.859.0",
|
|
67
|
-
"@semiont/api-client": "0.4.
|
|
68
|
-
"@semiont/content": "0.4.
|
|
69
|
-
"@semiont/core": "0.4.
|
|
70
|
-
"@semiont/event-sourcing": "0.4.
|
|
71
|
-
"@semiont/graph": "0.4.
|
|
72
|
-
"@semiont/make-meaning": "0.4.
|
|
67
|
+
"@semiont/api-client": "0.4.7",
|
|
68
|
+
"@semiont/content": "0.4.7",
|
|
69
|
+
"@semiont/core": "0.4.7",
|
|
70
|
+
"@semiont/event-sourcing": "0.4.7",
|
|
71
|
+
"@semiont/graph": "0.4.7",
|
|
72
|
+
"@semiont/make-meaning": "0.4.7",
|
|
73
73
|
"arg": "^5.0.2",
|
|
74
74
|
"argon2": "^0.44.0",
|
|
75
75
|
"express": "^5.2.1",
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# Envoy proxy configuration for local development and Codespaces
|
|
2
|
-
# Routes traffic between frontend (Next.js) and backend (Hono API)
|
|
3
|
-
#
|
|
4
|
-
# Routing rules (order matters - first match wins):
|
|
5
|
-
# 1. /api/auth/* → frontend (NextAuth)
|
|
6
|
-
# 2. /api/cookies/* → frontend (cookie consent/export)
|
|
7
|
-
# 3. /api/resources/* → frontend (authenticated proxy for images/files)
|
|
8
|
-
# 4. /resources/* → backend (main API, SSE-safe: no timeout, no buffering)
|
|
9
|
-
# 5. /annotations/* → backend (main API)
|
|
10
|
-
# 6. /admin/* → backend (main API)
|
|
11
|
-
# 7. /api/events/stream → backend (SSE-safe: no timeout, no buffering)
|
|
12
|
-
# 8. /api/participants/* → backend (SSE-safe: no timeout, no buffering)
|
|
13
|
-
# 9. /api/* → backend (OpenAPI docs, spec)
|
|
14
|
-
# 10. /_next/* → frontend (Next.js static assets)
|
|
15
|
-
# 11. /* → frontend (Next.js pages)
|
|
16
|
-
|
|
17
|
-
static_resources:
|
|
18
|
-
listeners:
|
|
19
|
-
- name: listener_0
|
|
20
|
-
address:
|
|
21
|
-
socket_address:
|
|
22
|
-
address: 0.0.0.0
|
|
23
|
-
port_value: 8080
|
|
24
|
-
filter_chains:
|
|
25
|
-
- filters:
|
|
26
|
-
- name: envoy.filters.network.http_connection_manager
|
|
27
|
-
typed_config:
|
|
28
|
-
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
|
29
|
-
stat_prefix: ingress_http
|
|
30
|
-
access_log:
|
|
31
|
-
- name: envoy.access_loggers.stdout
|
|
32
|
-
typed_config:
|
|
33
|
-
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
|
|
34
|
-
http_filters:
|
|
35
|
-
- name: envoy.filters.http.buffer
|
|
36
|
-
typed_config:
|
|
37
|
-
"@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.Buffer
|
|
38
|
-
max_request_bytes: 10485760 # 10MB max request size
|
|
39
|
-
- name: envoy.filters.http.router
|
|
40
|
-
typed_config:
|
|
41
|
-
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
|
42
|
-
upgrade_configs:
|
|
43
|
-
- upgrade_type: websocket
|
|
44
|
-
route_config:
|
|
45
|
-
name: local_route
|
|
46
|
-
virtual_hosts:
|
|
47
|
-
- name: local_service
|
|
48
|
-
domains: ["*"]
|
|
49
|
-
routes:
|
|
50
|
-
# Frontend Next.js API routes (must come before backend /api/*)
|
|
51
|
-
- match:
|
|
52
|
-
prefix: "/api/auth/"
|
|
53
|
-
route:
|
|
54
|
-
cluster: frontend
|
|
55
|
-
timeout: 30s
|
|
56
|
-
- match:
|
|
57
|
-
prefix: "/api/cookies/"
|
|
58
|
-
route:
|
|
59
|
-
cluster: frontend
|
|
60
|
-
timeout: 30s
|
|
61
|
-
- match:
|
|
62
|
-
prefix: "/api/resources/"
|
|
63
|
-
route:
|
|
64
|
-
cluster: frontend
|
|
65
|
-
timeout: 30s
|
|
66
|
-
|
|
67
|
-
# Backend API routes (without /api prefix)
|
|
68
|
-
# Match /resources (exact - for POST /resources)
|
|
69
|
-
- match:
|
|
70
|
-
path: "/resources"
|
|
71
|
-
route:
|
|
72
|
-
cluster: backend
|
|
73
|
-
timeout: 30s
|
|
74
|
-
# Match /resources/* (prefix - for GET /resources/:id)
|
|
75
|
-
# Increased timeout for SSE streams at /resources/:id/events/stream
|
|
76
|
-
- match:
|
|
77
|
-
prefix: "/resources/"
|
|
78
|
-
route:
|
|
79
|
-
cluster: backend
|
|
80
|
-
timeout: 0s # No timeout for SSE long-lived connections
|
|
81
|
-
idle_timeout: 3600s # 1 hour idle timeout
|
|
82
|
-
typed_per_filter_config:
|
|
83
|
-
envoy.filters.http.buffer:
|
|
84
|
-
"@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.BufferPerRoute
|
|
85
|
-
disabled: true # Disable buffering for SSE streams
|
|
86
|
-
- match:
|
|
87
|
-
prefix: "/annotations/"
|
|
88
|
-
route:
|
|
89
|
-
cluster: backend
|
|
90
|
-
timeout: 30s
|
|
91
|
-
- match:
|
|
92
|
-
prefix: "/admin/"
|
|
93
|
-
route:
|
|
94
|
-
cluster: backend
|
|
95
|
-
timeout: 30s
|
|
96
|
-
- match:
|
|
97
|
-
prefix: "/entity-types/"
|
|
98
|
-
route:
|
|
99
|
-
cluster: backend
|
|
100
|
-
timeout: 30s
|
|
101
|
-
- match:
|
|
102
|
-
prefix: "/jobs/"
|
|
103
|
-
route:
|
|
104
|
-
cluster: backend
|
|
105
|
-
timeout: 30s
|
|
106
|
-
- match:
|
|
107
|
-
prefix: "/users/"
|
|
108
|
-
route:
|
|
109
|
-
cluster: backend
|
|
110
|
-
timeout: 30s
|
|
111
|
-
- match:
|
|
112
|
-
prefix: "/tokens/"
|
|
113
|
-
route:
|
|
114
|
-
cluster: backend
|
|
115
|
-
timeout: 30s
|
|
116
|
-
- match:
|
|
117
|
-
prefix: "/health"
|
|
118
|
-
route:
|
|
119
|
-
cluster: backend
|
|
120
|
-
timeout: 30s
|
|
121
|
-
- match:
|
|
122
|
-
prefix: "/status"
|
|
123
|
-
route:
|
|
124
|
-
cluster: backend
|
|
125
|
-
timeout: 30s
|
|
126
|
-
|
|
127
|
-
# Backend SSE routes under /api/ (must come before generic /api/ catch-all)
|
|
128
|
-
- match:
|
|
129
|
-
prefix: "/api/events/stream"
|
|
130
|
-
route:
|
|
131
|
-
cluster: backend
|
|
132
|
-
timeout: 0s
|
|
133
|
-
idle_timeout: 3600s
|
|
134
|
-
typed_per_filter_config:
|
|
135
|
-
envoy.filters.http.buffer:
|
|
136
|
-
"@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.BufferPerRoute
|
|
137
|
-
disabled: true
|
|
138
|
-
- match:
|
|
139
|
-
prefix: "/api/participants/"
|
|
140
|
-
route:
|
|
141
|
-
cluster: backend
|
|
142
|
-
timeout: 0s
|
|
143
|
-
idle_timeout: 3600s
|
|
144
|
-
typed_per_filter_config:
|
|
145
|
-
envoy.filters.http.buffer:
|
|
146
|
-
"@type": type.googleapis.com/envoy.extensions.filters.http.buffer.v3.BufferPerRoute
|
|
147
|
-
disabled: true
|
|
148
|
-
|
|
149
|
-
# Backend OpenAPI documentation and other /api/ routes
|
|
150
|
-
- match:
|
|
151
|
-
prefix: "/api/"
|
|
152
|
-
route:
|
|
153
|
-
cluster: backend
|
|
154
|
-
timeout: 30s
|
|
155
|
-
|
|
156
|
-
# Next.js static assets (must come before catch-all)
|
|
157
|
-
- match:
|
|
158
|
-
prefix: "/_next/"
|
|
159
|
-
route:
|
|
160
|
-
cluster: frontend
|
|
161
|
-
timeout: 30s
|
|
162
|
-
|
|
163
|
-
# Everything else goes to frontend (Next.js pages)
|
|
164
|
-
- match:
|
|
165
|
-
prefix: "/"
|
|
166
|
-
route:
|
|
167
|
-
cluster: frontend
|
|
168
|
-
timeout: 30s
|
|
169
|
-
|
|
170
|
-
clusters:
|
|
171
|
-
- name: backend
|
|
172
|
-
connect_timeout: 5s
|
|
173
|
-
type: STRICT_DNS
|
|
174
|
-
dns_lookup_family: V4_ONLY
|
|
175
|
-
lb_policy: ROUND_ROBIN
|
|
176
|
-
load_assignment:
|
|
177
|
-
cluster_name: backend
|
|
178
|
-
endpoints:
|
|
179
|
-
- lb_endpoints:
|
|
180
|
-
- endpoint:
|
|
181
|
-
address:
|
|
182
|
-
socket_address:
|
|
183
|
-
address: {{HOST_ADDRESS}}
|
|
184
|
-
port_value: {{BACKEND_PORT}}
|
|
185
|
-
|
|
186
|
-
- name: frontend
|
|
187
|
-
connect_timeout: 5s
|
|
188
|
-
type: STRICT_DNS
|
|
189
|
-
dns_lookup_family: V4_ONLY
|
|
190
|
-
lb_policy: ROUND_ROBIN
|
|
191
|
-
load_assignment:
|
|
192
|
-
cluster_name: frontend
|
|
193
|
-
endpoints:
|
|
194
|
-
- lb_endpoints:
|
|
195
|
-
- endpoint:
|
|
196
|
-
address:
|
|
197
|
-
socket_address:
|
|
198
|
-
address: {{HOST_ADDRESS}}
|
|
199
|
-
port_value: {{FRONTEND_PORT}}
|
|
200
|
-
|
|
201
|
-
admin:
|
|
202
|
-
address:
|
|
203
|
-
socket_address:
|
|
204
|
-
address: 0.0.0.0
|
|
205
|
-
port_value: 9901
|