func()

in confgenerator/files.go [47:73]


func (uc *UnifiedConfig) GenerateFilesFromConfig(ctx context.Context, service, logsDir, stateDir, outDir string) error {
	switch service {
	case "": // Validate-only.
		return nil
	case "fluentbit":
		files, err := uc.GenerateFluentBitConfigs(ctx, logsDir, stateDir)
		if err != nil {
			return fmt.Errorf("can't parse configuration: %w", err)
		}
		for name, contents := range files {
			if err = WriteConfigFile([]byte(contents), filepath.Join(outDir, name)); err != nil {
				return err
			}
		}
	case "otel":
		otelConfig, err := uc.GenerateOtelConfig(ctx, outDir)
		if err != nil {
			return fmt.Errorf("can't parse configuration: %w", err)
		}
		if err = WriteConfigFile([]byte(otelConfig), filepath.Join(outDir, "otel.yaml")); err != nil {
			return err
		}
	default:
		return fmt.Errorf("unknown service %q", service)
	}
	return nil
}