feat: project setup
This commit is contained in:
8
config/CONFIG.md
Normal file
8
config/CONFIG.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# CONFIG
|
||||
|
||||
- **server** `Server Configuration`
|
||||
- config.go
|
||||
- env.go
|
||||
- **frontend** `Client Configuration`
|
||||
- config.go
|
||||
- env.go
|
||||
1
config/frontend/config.go
Normal file
1
config/frontend/config.go
Normal file
@@ -0,0 +1 @@
|
||||
package frontend
|
||||
1
config/frontend/env.go
Normal file
1
config/frontend/env.go
Normal file
@@ -0,0 +1 @@
|
||||
package frontend
|
||||
62
config/server/config.go
Normal file
62
config/server/config.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
// "log"
|
||||
"speakeasy/utils/env"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
VERSION = "dev"
|
||||
BUILD_TIME = time.Now()
|
||||
)
|
||||
|
||||
// ServerConfig is a configuration model for the backend
|
||||
type ServerConfig struct {
|
||||
PG_HOST string
|
||||
PG_USER string
|
||||
PG_PASSWORD string
|
||||
RABBITMQ_HOST string
|
||||
RABBITMQ_USER string
|
||||
RABBITMQ_PASSWORD string
|
||||
OLLAMA_HOST string
|
||||
OLLAMA_MODEL_ACCURACY string
|
||||
SERVER_HOST string
|
||||
SERVER_PORT int
|
||||
CLIENT_HOST string
|
||||
CLIENT_PORT int
|
||||
VERSION string
|
||||
BUILD_TIME time.Time
|
||||
}
|
||||
|
||||
// ModelAccuracy is a configuration option for the Ollama Model Manager
|
||||
type ModelAccuracy string
|
||||
|
||||
const (
|
||||
FAST ModelAccuracy = "FAST" // gemma:2b
|
||||
BALANCED ModelAccuracy = "BALANCED" // phi3:mini
|
||||
ACCURATE ModelAccuracy = "ACCURATE" // llama3.1:8b
|
||||
)
|
||||
|
||||
// CreateNewConfig returns an empty server config
|
||||
func CreateNewConfig() ServerConfig {
|
||||
return ServerConfig{}
|
||||
}
|
||||
|
||||
// LoadConfig loads config from environment variables
|
||||
func (c *ServerConfig) LoadConfig() {
|
||||
c.PG_HOST = env.GetString("PG_HOST", "localhost:8888")
|
||||
c.PG_USER = env.GetString("PG_USER", "speakeasy")
|
||||
c.PG_PASSWORD = env.GetString("PG_PASSWORD", "speakeasy")
|
||||
c.RABBITMQ_HOST = env.GetString("RABBITMQ_HOST", "localhost:5672")
|
||||
c.RABBITMQ_PASSWORD = env.GetString("RABBITMQ_PASSWORD", "speakeasy")
|
||||
c.RABBITMQ_USER = env.GetString("RABBITMQ_USER", "speakeasy")
|
||||
c.OLLAMA_HOST = env.GetString("OLLAMA_HOST", "localhost:11434")
|
||||
c.OLLAMA_MODEL_ACCURACY = env.GetString("OLLAMA_MODEL_ACCURACY", "BALANCED")
|
||||
c.SERVER_HOST = env.GetString("SERVER_HOST", "localhost")
|
||||
c.SERVER_PORT = env.GetInt("SERVER_PORT", 3456)
|
||||
c.CLIENT_HOST = env.GetString("CLIENT_HOST", "localhost")
|
||||
c.CLIENT_PORT = env.GetInt("CLIENT_PORT", 3457)
|
||||
c.VERSION = VERSION
|
||||
c.BUILD_TIME = BUILD_TIME
|
||||
}
|
||||
1
config/server/env.go
Normal file
1
config/server/env.go
Normal file
@@ -0,0 +1 @@
|
||||
package server
|
||||
Reference in New Issue
Block a user