template-monorepo/etc/gateway.k6.yaml

118 lines
2.7 KiB
YAML
Raw Normal View History

2026-05-26 06:05:33 +00:00
# k6 測試專用設定(搭配 make k6-up + make k6-gateway
#
# 與 dev 差異:
# - Email: SMTP → MailHoglocalhost:1025OTP 由 k6 透過 MailHog HTTP API 撈
# - SMS : provider=mock並由 mock_sender 寫到 Rediskey: dev:notification:last:sms:<phone>
# - Permission.Casbin.Enabled: truerbac journey
# - Zitadel: 用環境變數帶 PAT / OAuth secret
#
# 啟動:
# export ZITADEL_SERVICE_TOKEN=$(cat deploy/zitadel/machinekey/zitadel-admin-sa.token)
# ./gateway -f etc/gateway.k6.yaml
# (或直接 make k6-gateway
Name: gateway
Host: 0.0.0.0
Port: 8888
Mongo:
Schema: mongodb
Host: 127.0.0.1
Port: 27017
Database: gateway_k6
TLS: false
MaxPoolSize: 30
MinPoolSize: 5
MaxConnIdleTime: 30m
Redis:
Host: localhost:6379
Type: node
Notification:
DefaultLocale: zh-tw
Email:
Provider: smtp
From: noreply@k6.local
SMTP:
Enable: true
Sort: 1
Host: localhost
Port: 1025
Username: ""
Password: ""
SES:
Enable: false
SMS:
Provider: mock
Mitake:
Enable: false
Async:
QueueRedisKey: notification:queue:k6
Worker: 1
MaxRetry: 2
BackoffSeconds: [1, 3]
RatePerTenant:
Email: 1000
SMS: 1000
Member:
OTP:
Length: 6
TTLSeconds: 300
MaxAttempts: 10
ResendCooldownSeconds: 60
2026-05-26 06:05:33 +00:00
DailyVerifyLimit: 200
TOTP:
Issuer: CloudEP-k6
Algorithm: SHA1
Digits: 6
PeriodSeconds: 30
Window: 1
BackupCodeCount: 10
BackupCodeLength: 12
EnrollTTLSeconds: 600
ReplayTTLSeconds: 90
SecretKEK: "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff"
Registration:
RequireInviteCode: true
TrustSocialEmailVerified: true
Auth:
AccessExpire: 900
RefreshExpire: 604800
ActiveKID: v1
AccessSecret: "k6-access-secret-32-bytes-min!!!"
RefreshSecret: "k6-refresh-secret-32-bytes-min!!"
RegistrationSessionTTLSeconds: 600
Permission:
Casbin:
Enabled: true
ModelPath: etc/rbac.conf
PolicyAdapter: auto
Cache:
UserRolesTTLSeconds: 10
RolePermsTTLSeconds: 10
CatalogTTLSeconds: 60
Reload:
Channel: casbin:reload:k6
DebounceMilliseconds: 50
HeartbeatSeconds: 60
# ServiceUserToken / OAuthClientSecret 由環境變數注入:
# ZITADEL_SERVICE_TOKEN, ZITADEL_OAUTH_CLIENT_SECRET, ZITADEL_GOOGLE_CLIENT_SECRET
Zitadel:
Issuer: http://localhost:8080
APIBase: http://localhost:8080
ServiceUserToken: ""
DefaultOrgID: ""
2026-05-28 05:53:33 +00:00
OAuthClientID: "374875801008562439"
OAuthClientSecret: "Z1SUCIsozer52x2DNhKHXcTZROicf2lFFLLr4pkTZjLXHfkunTzjKYmMk2EHKDch"
2026-05-26 06:05:33 +00:00
GoogleClientID: ""
GoogleClientSecret: ""
GoogleIdPID: ""
2026-05-28 05:53:33 +00:00
LdapIdPID: "374875427463782663"
2026-05-26 06:05:33 +00:00
JWKSUrl: ""
TimeoutSeconds: 15