mirror of
				https://github.com/KevinMidboe/traefik-etcd-advertiser.git
				synced 2025-10-29 18:00:19 +00:00 
			
		
		
		
	Return error if etcd_endpoints variable is missing
This commit is contained in:
		| @@ -1,7 +1,8 @@ | |||||||
| package config | package config | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"log" | 	"fmt" | ||||||
|  | 	"log/slog" | ||||||
|  |  | ||||||
| 	"github.com/joho/godotenv" | 	"github.com/joho/godotenv" | ||||||
| 	"github.com/kelseyhightower/envconfig" | 	"github.com/kelseyhightower/envconfig" | ||||||
| @@ -9,18 +10,21 @@ import ( | |||||||
|  |  | ||||||
| // Config contains environment variables. | // Config contains environment variables. | ||||||
| type Config struct { | type Config struct { | ||||||
| 	EtcdEndpoint  string `envconfig:"ETCD_ENDPOINTS"` | 	EtcdEndpoint string `envconfig:"ETCD_ENDPOINTS"` | ||||||
| } | } | ||||||
|  |  | ||||||
| // LoadConfig reads environment variables, populates and returns Config. | // LoadConfig reads environment variables, populates and returns Config. | ||||||
| func LoadConfig() (*Config, error) { | func LoadConfig() (*Config, error) { | ||||||
| 	if err := godotenv.Load(); err != nil { | 	if err := godotenv.Load(); err != nil { | ||||||
| 		log.Println("No .env file found") | 		slog.Warn("No .env file found") | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var c Config | 	var c Config | ||||||
|  |  | ||||||
| 	err := envconfig.Process("", &c) | 	err := envconfig.Process("", &c) | ||||||
|  |  | ||||||
|  | 	if len(c.EtcdEndpoint) < 1 { | ||||||
|  | 		err = fmt.Errorf("missing variable ETCD_ENDPOINTS, not set") | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	return &c, err | 	return &c, err | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								main.go
									
									
									
									
									
								
							| @@ -25,7 +25,7 @@ func getArgvFilename() string { | |||||||
| func main() { | func main() { | ||||||
| 	_, err := config.LoadConfig() | 	_, err := config.LoadConfig() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Println("Error from config loader", err) | 		log.Fatalf("Error from config loader: %s", err) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// setup etcd client | 	// setup etcd client | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user