etoile_polaire/agent/internal/config/config.go
2025-04-01 16:33:54 +02:00

40 lines
No EOL
843 B
Go

package config
import (
"os"
"time"
)
// Config représente la configuration de l'agent
type Config struct {
ServerURL string
Name string
Hostname string
IPAddress string
DockerVersion string
HeartbeatInterval time.Duration
}
// DefaultConfig retourne une configuration par défaut
func DefaultConfig() Config {
hostname, _ := os.Hostname()
return Config{
ServerURL: "http://localhost:8000",
Name: "",
Hostname: hostname,
IPAddress: "127.0.0.1", // À remplacer par l'adresse IP réelle
DockerVersion: "unknown",
HeartbeatInterval: 30 * time.Second,
}
}
// Validate vérifie que la configuration est valide
func (c *Config) Validate() error {
if c.Name == "" {
return ErrNameRequired
}
if c.ServerURL == "" {
return ErrServerURLRequired
}
return nil
}