| 128 | } |
| 129 | |
| 130 | func readFromFile(ctx context.Context, filePath string) (map[string]string, error) { |
| 131 | if filePath == "" { |
| 132 | return map[string]string{}, nil |
| 133 | } |
| 134 | |
| 135 | if filePath == "-" { |
| 136 | variables, err := godotenv.Parse(os.Stdin) |
| 137 | if err != nil { |
| 138 | return nil, errors.Wrapf(ctx, err, "parse .env from stdin") |
| 139 | } |
| 140 | return variables, nil |
| 141 | } |
| 142 | |
| 143 | variables, err := godotenv.Read(filePath) |
| 144 | if err != nil { |
| 145 | return nil, errors.Wrapf(ctx, err, "invalid .env file") |
| 146 | } |
| 147 | return variables, nil |
| 148 | } |