func generateOtelConfig()

in entrypoint.go [61:89]


func generateOtelConfig(ctx context.Context, userConfigFile string) error {
	// Pick up RunMonitoring configuration from mounted volume that is tied to
	// secret manager.  Translate it from RunMonitoring to OTel.
	c, err := confgenerator.ReadConfigFromFile(ctx, userConfigFile)
	if err != nil {
		log.Fatal(err)
	}

	if selfMetricsPort == 0 {
		selfMetricsPort, err = confgenerator.GetFreePort()
		if err != nil {
			return err
		}
	}

	// Create the OTel config and write it to disk
	otel, err := c.GenerateOtelConfig(ctx, selfMetricsPort)
	if err != nil {
		return err
	}
	if err := os.MkdirAll(filepath.Dir(otelConfigFile), 0755); err != nil {
		return fmt.Errorf("failed to create directory for %q: %v", otelConfigFile, err)
	}
	if err := ioutil.WriteFile(otelConfigFile, []byte(otel), 0644); err != nil {
		return fmt.Errorf("failed to write file to %q: %v", otelConfigFile, err)
	}

	return nil
}