40 lines
No EOL
843 B
Go
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
|
|
} |