create-fuzionx 0.1.24 → 0.1.26
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/package.json +1 -1
- package/templates/fuzionx.yaml.tpl +183 -11
- package/templates/package.json.tpl +1 -1
package/package.json
CHANGED
|
@@ -1,30 +1,202 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ═══════════════════════════════════════════════
|
|
2
|
+
# fuzionx.yaml — FuzionX 전체 설정 레퍼런스
|
|
3
|
+
# ═══════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
# ── Bridge (Rust 엔진) ──────────────────────────
|
|
2
6
|
bridge:
|
|
3
7
|
port: 49080
|
|
4
|
-
workers:
|
|
5
|
-
worker_timeout: 30
|
|
8
|
+
workers: 0 # 0 = CPU 코어 수 자동
|
|
9
|
+
worker_timeout: 30 # 워커 요청 타임아웃 (초)
|
|
10
|
+
|
|
11
|
+
# ── 보안: CORS ──
|
|
12
|
+
cors:
|
|
13
|
+
enabled: false
|
|
14
|
+
origins:
|
|
15
|
+
- "*"
|
|
6
16
|
|
|
17
|
+
# ── 보안: Rate Limit ──
|
|
7
18
|
rate_limit:
|
|
8
19
|
enabled: true
|
|
9
|
-
per_ip: 1000
|
|
20
|
+
per_ip: 1000 # IP당 초당 요청 수
|
|
21
|
+
|
|
22
|
+
# ── 보안: HSTS ──
|
|
23
|
+
hsts:
|
|
24
|
+
enabled: false
|
|
25
|
+
max_age: 31536000 # 1년 (초)
|
|
26
|
+
|
|
27
|
+
# ── 보안: CSP ──
|
|
28
|
+
csp:
|
|
29
|
+
enabled: false
|
|
30
|
+
directives:
|
|
31
|
+
- "default-src 'self'"
|
|
32
|
+
|
|
33
|
+
# ── 보안: IP Filter ──
|
|
34
|
+
ip_filter:
|
|
35
|
+
enabled: false
|
|
36
|
+
whitelist: [] # CIDR 형식
|
|
37
|
+
blacklist: []
|
|
38
|
+
|
|
39
|
+
# ── 세션 ──
|
|
40
|
+
session:
|
|
41
|
+
enabled: false
|
|
42
|
+
store: memory # memory | redis
|
|
43
|
+
ttl: 3600 # 세션 TTL (초)
|
|
44
|
+
cookie_name: fuzionx.sid
|
|
45
|
+
# redis_url: "redis://localhost:6379"
|
|
46
|
+
|
|
47
|
+
# ── 국제화 (i18n) ──
|
|
48
|
+
i18n:
|
|
49
|
+
enabled: false
|
|
50
|
+
default_locale: ko
|
|
51
|
+
locale_dir: ./locales
|
|
52
|
+
auto_complete: false
|
|
53
|
+
locales:
|
|
54
|
+
- ko
|
|
55
|
+
- en
|
|
56
|
+
|
|
57
|
+
# ── WebSocket ──
|
|
58
|
+
websocket:
|
|
59
|
+
enabled: false
|
|
60
|
+
path: /ws
|
|
61
|
+
check_interval: 60 # 헬스체크 간격 (초)
|
|
62
|
+
timeout: 60 # 타임아웃 (초)
|
|
63
|
+
|
|
64
|
+
# ── Hub (멀티서버 동기화) ──
|
|
65
|
+
hub:
|
|
66
|
+
enabled: false
|
|
67
|
+
url: "ws://127.0.0.1:9100/ws/bridge"
|
|
68
|
+
group: "{{name}}"
|
|
69
|
+
|
|
70
|
+
# ── 파일 업로드 ──
|
|
71
|
+
upload:
|
|
72
|
+
dir: /tmp
|
|
73
|
+
max_size: "1gb"
|
|
74
|
+
max_files: 20
|
|
75
|
+
allowed_types:
|
|
76
|
+
- image/jpeg
|
|
77
|
+
- image/png
|
|
78
|
+
- image/webp
|
|
79
|
+
- image/gif
|
|
80
|
+
- video/mp4
|
|
81
|
+
- video/webm
|
|
82
|
+
- application/pdf
|
|
83
|
+
# watermark: ./assets/watermark.png
|
|
84
|
+
# watermark_opacity: 50
|
|
85
|
+
|
|
86
|
+
# ── 정적 파일 ──
|
|
87
|
+
static:
|
|
88
|
+
- url: /public
|
|
89
|
+
path: ./public
|
|
10
90
|
|
|
91
|
+
# ── 로깅 ──
|
|
92
|
+
logging:
|
|
93
|
+
level: info # error | warn | info | debug
|
|
94
|
+
intercept_console: true # console.* 가로채기
|
|
95
|
+
file:
|
|
96
|
+
enabled: false
|
|
97
|
+
path: ./logs/app.log
|
|
98
|
+
|
|
99
|
+
# ── 액세스 로그 ──
|
|
100
|
+
access_log:
|
|
101
|
+
enabled: false
|
|
102
|
+
path: ./logs/access.log
|
|
103
|
+
error_path: ./logs/error.log
|
|
104
|
+
|
|
105
|
+
# ── 트래픽 캡처 ──
|
|
106
|
+
traffic_capture:
|
|
107
|
+
enabled: false
|
|
108
|
+
max_body_size: "64KB"
|
|
109
|
+
exclude_content_types: []
|
|
110
|
+
loki:
|
|
111
|
+
enabled: false
|
|
112
|
+
url: ""
|
|
113
|
+
labels: []
|
|
114
|
+
fields: []
|
|
115
|
+
batch_size: 100
|
|
116
|
+
flush_interval: "2s"
|
|
117
|
+
clickhouse:
|
|
118
|
+
enabled: false
|
|
119
|
+
url: ""
|
|
120
|
+
database: fuzionx
|
|
121
|
+
table: traffic
|
|
122
|
+
format: full # metadata | headers_only | full
|
|
123
|
+
batch_size: 100
|
|
124
|
+
flush_interval: "1s"
|
|
125
|
+
|
|
126
|
+
# ── ASP 암호화 ──
|
|
127
|
+
asp:
|
|
128
|
+
enabled: false
|
|
129
|
+
master_secret: "${ASP_SECRET:change-me-in-production}"
|
|
130
|
+
header_signal: Ruxy-Enc-Mode
|
|
131
|
+
|
|
132
|
+
# ── Database ────────────────────────────────────
|
|
11
133
|
database:
|
|
12
|
-
main
|
|
13
|
-
|
|
14
|
-
|
|
134
|
+
default: main
|
|
135
|
+
connections:
|
|
136
|
+
main:
|
|
137
|
+
driver: sqlite # sqlite | mariadb | postgres | mongodb
|
|
138
|
+
database: ./storage/database.sqlite
|
|
139
|
+
# host: "127.0.0.1"
|
|
140
|
+
# port: 3306
|
|
141
|
+
# user: root
|
|
142
|
+
# password: ""
|
|
143
|
+
# charset: utf8mb4
|
|
144
|
+
# pool:
|
|
145
|
+
# min: 2
|
|
146
|
+
# max: 10
|
|
15
147
|
|
|
148
|
+
# ── App (프레임워크) ────────────────────────────
|
|
16
149
|
app:
|
|
17
150
|
name: '{{name}}'
|
|
18
|
-
environment: development
|
|
151
|
+
environment: development # development | production
|
|
152
|
+
|
|
153
|
+
asp:
|
|
154
|
+
enabled: false
|
|
155
|
+
|
|
156
|
+
# 인증
|
|
19
157
|
auth:
|
|
20
|
-
secret: 'change-me-in-production'
|
|
158
|
+
secret: '${JWT_SECRET:change-me-in-production}'
|
|
21
159
|
accessTtl: '15m'
|
|
160
|
+
# refreshTtl: '7d'
|
|
161
|
+
# bcrypt_rounds: 12
|
|
162
|
+
|
|
163
|
+
# 국제화 (프레임워크 편의 설정)
|
|
22
164
|
i18n:
|
|
23
165
|
default_locale: 'ko'
|
|
24
166
|
fallback: 'en'
|
|
167
|
+
|
|
168
|
+
# Swagger/OpenAPI
|
|
25
169
|
docs:
|
|
26
170
|
enabled: true
|
|
27
171
|
path: '/docs'
|
|
28
172
|
|
|
29
|
-
|
|
30
|
-
|
|
173
|
+
# 테마
|
|
174
|
+
themes:
|
|
175
|
+
default: 'default'
|
|
176
|
+
|
|
177
|
+
# 스토리지
|
|
178
|
+
# storage:
|
|
179
|
+
# driver: local
|
|
180
|
+
# local:
|
|
181
|
+
# path: ./storage
|
|
182
|
+
# url_prefix: /storage
|
|
183
|
+
|
|
184
|
+
# 스케줄러
|
|
185
|
+
# scheduler:
|
|
186
|
+
# enabled: true
|
|
187
|
+
# lock:
|
|
188
|
+
# driver: null # null | redis
|
|
189
|
+
# redis_url: ""
|
|
190
|
+
# prefix: "myapp:lock"
|
|
191
|
+
|
|
192
|
+
# 큐
|
|
193
|
+
# queue:
|
|
194
|
+
# driver: memory # memory | redis
|
|
195
|
+
# redis_url: ""
|
|
196
|
+
# prefix: "myapp:queue"
|
|
197
|
+
|
|
198
|
+
# ── Multi-App (도메인 → 앱 라우팅) ────────────────
|
|
199
|
+
apps:
|
|
200
|
+
"localhost:49080": backend
|
|
201
|
+
# "admin.example.com": backend
|
|
202
|
+
# "example.com": frontend
|