mirror of
https://github.com/Direct-Dev-Ru/go-lcg.git
synced 2025-11-17 10:09:56 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4b902cb4c | |||
| 164f32dbaf | |||
| 7933abe62d | |||
| 1545fe2508 | |||
| d213de7a95 | |||
| deb80f2b37 | |||
| 81b01d74ae | |||
| 3c95eb85db | |||
| 1fbdd237a3 | |||
| 5b78e775c1 | |||
| 2d82b91090 | |||
| 9044b02d27 | |||
| 5d3829d1fe | |||
| e7c11879a1 |
@@ -1 +1 @@
|
|||||||
v2.0.4
|
v2.0.7
|
||||||
|
|||||||
@@ -68,6 +68,15 @@ type ValidationConfig struct {
|
|||||||
MaxExplanationLength int
|
MaxExplanationLength int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetEnvBool(key string, defaultValue bool) bool {
|
||||||
|
if value, exists := os.LookupEnv(key); exists {
|
||||||
|
if boolValue, err := strconv.ParseBool(value); err == nil {
|
||||||
|
return boolValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return defaultValue
|
||||||
|
}
|
||||||
|
|
||||||
func getEnv(key, defaultValue string) string {
|
func getEnv(key, defaultValue string) string {
|
||||||
if value, exists := os.LookupEnv(key); exists {
|
if value, exists := os.LookupEnv(key); exists {
|
||||||
return value
|
return value
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ data:
|
|||||||
LCG_CONFIG_FOLDER: "/app/data/config"
|
LCG_CONFIG_FOLDER: "/app/data/config"
|
||||||
LCG_NO_HISTORY: "false"
|
LCG_NO_HISTORY: "false"
|
||||||
LCG_ALLOW_EXECUTION: "false"
|
LCG_ALLOW_EXECUTION: "false"
|
||||||
LCG_DEBUG: "false"
|
LCG_DEBUG: "true"
|
||||||
|
LCG_PROVIDER: "proxy"
|
||||||
|
|
||||||
# Настройки аутентификации
|
# Настройки аутентификации
|
||||||
LCG_SERVER_REQUIRE_AUTH: "true"
|
LCG_SERVER_REQUIRE_AUTH: "true"
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ spec:
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: ${VERSION}
|
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: lcg
|
- name: lcg
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v2.0.4
|
v2.0.7
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: ${VERSION}
|
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ resources:
|
|||||||
- ingress-route.yaml
|
- ingress-route.yaml
|
||||||
|
|
||||||
# Common labels
|
# Common labels
|
||||||
commonLabels:
|
# commonLabels:
|
||||||
app: lcg
|
# app: lcg
|
||||||
version: ${VERSION}
|
# version: ${VERSION}
|
||||||
managed-by: kustomize
|
# managed-by: kustomize
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
images:
|
# images:
|
||||||
- name: lcg
|
# - name: lcg
|
||||||
newName: ${REPOSITORY}
|
# newName: ${REPOSITORY}
|
||||||
newTag: ${VERSION}
|
# newTag: ${VERSION}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: ${VERSION}
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
ports:
|
ports:
|
||||||
@@ -15,4 +14,3 @@ spec:
|
|||||||
name: http
|
name: http
|
||||||
selector:
|
selector:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: ${VERSION}
|
|
||||||
|
|||||||
@@ -124,6 +124,11 @@ func (p *ProxyAPIProvider) Chat(messages []Chat) (string, error) {
|
|||||||
req.Header.Set("Authorization", "Bearer "+p.JWTToken)
|
req.Header.Set("Authorization", "Bearer "+p.JWTToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if config.AppConfig.MainFlags.Debug {
|
||||||
|
fmt.Println("Chat URL: ", p.BaseURL+config.AppConfig.Server.ProxyUrl)
|
||||||
|
fmt.Println("ProxyChatRequest: ", req)
|
||||||
|
}
|
||||||
|
|
||||||
resp, err := p.HTTPClient.Do(req)
|
resp, err := p.HTTPClient.Do(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", fmt.Errorf("ошибка выполнения запроса: %w", err)
|
return "", fmt.Errorf("ошибка выполнения запроса: %w", err)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
data:
|
data:
|
||||||
# Основные настройки
|
# Основные настройки
|
||||||
LCG_VERSION: "v2.0.4"
|
LCG_VERSION: "v2.0.7"
|
||||||
LCG_BASE_PATH: "/lcg"
|
LCG_BASE_PATH: "/lcg"
|
||||||
LCG_SERVER_HOST: "0.0.0.0"
|
LCG_SERVER_HOST: "0.0.0.0"
|
||||||
LCG_SERVER_PORT: "8080"
|
LCG_SERVER_PORT: "8080"
|
||||||
@@ -16,7 +16,8 @@ data:
|
|||||||
LCG_CONFIG_FOLDER: "/app/data/config"
|
LCG_CONFIG_FOLDER: "/app/data/config"
|
||||||
LCG_NO_HISTORY: "false"
|
LCG_NO_HISTORY: "false"
|
||||||
LCG_ALLOW_EXECUTION: "false"
|
LCG_ALLOW_EXECUTION: "false"
|
||||||
LCG_DEBUG: "false"
|
LCG_DEBUG: "true"
|
||||||
|
LCG_PROVIDER: "proxy"
|
||||||
|
|
||||||
# Настройки аутентификации
|
# Настройки аутентификации
|
||||||
LCG_SERVER_REQUIRE_AUTH: "true"
|
LCG_SERVER_REQUIRE_AUTH: "true"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v2.0.4
|
version: v2.0.7
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector:
|
selector:
|
||||||
@@ -15,11 +15,10 @@ spec:
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v2.0.4
|
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: lcg
|
- name: lcg
|
||||||
image: kuznetcovay/lcg:v2.0.4
|
image: kuznetcovay/lcg:v2.0.7
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v2.0.4
|
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
|
|||||||
@@ -13,13 +13,13 @@ resources:
|
|||||||
- ingress-route.yaml
|
- ingress-route.yaml
|
||||||
|
|
||||||
# Common labels
|
# Common labels
|
||||||
commonLabels:
|
# commonLabels:
|
||||||
app: lcg
|
# app: lcg
|
||||||
version: v2.0.4
|
# version: v2.0.7
|
||||||
managed-by: kustomize
|
# managed-by: kustomize
|
||||||
|
|
||||||
# Images
|
# Images
|
||||||
images:
|
# images:
|
||||||
- name: lcg
|
# - name: lcg
|
||||||
newName: kuznetcovay/lcg
|
# newName: kuznetcovay/lcg
|
||||||
newTag: v2.0.4
|
# newTag: v2.0.7
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ metadata:
|
|||||||
namespace: lcg
|
namespace: lcg
|
||||||
labels:
|
labels:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v2.0.4
|
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
ports:
|
ports:
|
||||||
@@ -15,4 +14,3 @@ spec:
|
|||||||
name: http
|
name: http
|
||||||
selector:
|
selector:
|
||||||
app: lcg
|
app: lcg
|
||||||
version: v2.0.4
|
|
||||||
|
|||||||
14
main.go
14
main.go
@@ -156,6 +156,12 @@ lcg [опции] <описание команды>
|
|||||||
Debug: c.Bool("debug"),
|
Debug: c.Bool("debug"),
|
||||||
}
|
}
|
||||||
disableHistory = config.AppConfig.MainFlags.NoHistory || config.AppConfig.IsNoHistoryEnabled()
|
disableHistory = config.AppConfig.MainFlags.NoHistory || config.AppConfig.IsNoHistoryEnabled()
|
||||||
|
|
||||||
|
config.AppConfig.MainFlags.Debug = config.AppConfig.MainFlags.Debug || config.GetEnvBool("LCG_DEBUG", false)
|
||||||
|
|
||||||
|
fmt.Println("Debug:", config.AppConfig.MainFlags.Debug)
|
||||||
|
fmt.Println("LCG_DEBUG:", config.GetEnvBool("LCG_DEBUG", false))
|
||||||
|
|
||||||
args := c.Args().Slice()
|
args := c.Args().Slice()
|
||||||
|
|
||||||
if len(args) == 0 {
|
if len(args) == 0 {
|
||||||
@@ -566,11 +572,9 @@ func getCommands() []*cli.Command {
|
|||||||
host := c.String("host")
|
host := c.String("host")
|
||||||
openBrowser := c.Bool("browser")
|
openBrowser := c.Bool("browser")
|
||||||
|
|
||||||
// Пробрасываем глобальный флаг debug для web-сервера
|
// Пробрасываем debug: флаг или переменная окружения LCG_DEBUG
|
||||||
// Позволяет запускать: lcg -d serve -p ...
|
// Позволяет запускать: LCG_DEBUG=1 lcg serve ... или lcg -d serve ...
|
||||||
if c.Bool("debug") {
|
config.AppConfig.MainFlags.Debug = c.Bool("debug") || config.GetEnvBool("LCG_DEBUG", false)
|
||||||
config.AppConfig.MainFlags.Debug = true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Обновляем конфигурацию сервера с новыми параметрами
|
// Обновляем конфигурацию сервера с новыми параметрами
|
||||||
config.AppConfig.Server.Host = host
|
config.AppConfig.Server.Host = host
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ func validateJWTToken(tokenString string) (*JWTClaims, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Парсим токен
|
// Парсим токен
|
||||||
token, err := jwt.ParseWithClaims(tokenString, &JWTClaims{}, func(token *jwt.Token) (interface{}, error) {
|
token, err := jwt.ParseWithClaims(tokenString, &JWTClaims{}, func(token *jwt.Token) (any, error) {
|
||||||
// Проверяем метод подписи
|
// Проверяем метод подписи
|
||||||
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
||||||
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
|
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
|
||||||
|
|||||||
Reference in New Issue
Block a user