package config import ( "os" "strings" ) type Config struct { App struct { Env string } GRPC struct { Port string } Storage struct { Bucket string Region string Endpoint string AccessKey string SecretKey string } Logging struct { Level string } } func Load() *Config { var cfg Config get := func(key string) string { return strings.TrimSpace(os.Getenv(key)) } cfg.App.Env = get("APP_ENV") cfg.GRPC.Port = get("GRPC_PORT") cfg.Storage.Bucket = get("S3_BUCKET") cfg.Storage.Region = get("S3_REGION") cfg.Storage.Endpoint = get("S3_ENDPOINT") cfg.Storage.AccessKey = get("S3_ACCESS_KEY") cfg.Storage.SecretKey = get("S3_SECRET_KEY") cfg.Logging.Level = get("LOG_LEVEL") return &cfg }