Bug fixes pipeline
All checks were successful
CI/CD / Lint & Test (push) Successful in 52s
CI/CD / Build & Push Docker image (hub.p42.ru) (push) Successful in 2m57s

This commit is contained in:
admin 2026-02-09 16:59:48 +07:00
parent 07131f2d07
commit 8217818036
2 changed files with 6 additions and 9 deletions

View File

@ -19,14 +19,8 @@ WORKDIR /app
COPY --from=builder /app/nats-ui ./ COPY --from=builder /app/nats-ui ./
# config.yaml is in .gitignore; create default in image (override via volume at runtime) # Конфиг только внешний: не встраивается в образ. При запуске обязательно монтировать config.yaml:
RUN printf '%s\n' \ # docker run -v /path/to/config.yaml:/app/config.yaml ...
'nats_url: "nats://localhost:4222"' \
'subjects: ">"' \
'port: "8080"' \
'max_messages: 1000' \
> config.yaml
RUN chmod +x nats-ui && chown -R appuser:appuser /app RUN chmod +x nats-ui && chown -R appuser:appuser /app
EXPOSE 8080 EXPOSE 8080

View File

@ -231,7 +231,7 @@ func extractProducerFromPayload(data []byte) string {
func loadConfig(filename string) (*Config, error) { func loadConfig(filename string) (*Config, error) {
data, err := os.ReadFile(filename) data, err := os.ReadFile(filename)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to read config file: %w", err) return nil, err
} }
var config Config var config Config
if err := yaml.Unmarshal(data, &config); err != nil { if err := yaml.Unmarshal(data, &config); err != nil {
@ -259,6 +259,9 @@ func main() {
} }
config, err := loadConfig(configFile) config, err := loadConfig(configFile)
if err != nil { if err != nil {
if os.IsNotExist(err) {
log.Fatalf("Config file not found: %s (config must be an external file). Create it or run: %s /path/to/config.yaml", configFile, os.Args[0])
}
log.Fatalf("Failed to load config: %v", err) log.Fatalf("Failed to load config: %v", err)
} }
log.Printf("Loaded configuration from %s", configFile) log.Printf("Loaded configuration from %s", configFile)