func runTerraformerService()

in terraformer/cmd/harp-terraformer/internal/cmd/service.go [54:79]


func runTerraformerService(cmd *cobra.Command, _ []string) {
	ctx, cancel := cmdutil.Context(cmd.Context(), "harp-terraformer-service", conf.Debug.Enable, conf.Instrumentation.Logs.Level)
	defer cancel()

	var (
		reader io.Reader
		err    error
	)

	// Create input reader
	reader, err = cmdutil.Reader(terraformerServiceInputSpec)
	if err != nil {
		log.For(ctx).Fatal("unable to open input specification", zap.Error(err), zap.String("path", terraformerServiceInputSpec))
	}

	// Create output writer
	writer, err := cmdutil.Writer(terraformerServiceOutputPath)
	if err != nil {
		log.For(ctx).Fatal("unable to create output writer", zap.Error(err), zap.String("path", terraformerServiceOutputPath))
	}

	// Run terraformer
	if err := terraformer.Run(ctx, reader, terraformerServiceEnvironment, true, terraformer.ServiceTemplate, writer); err != nil {
		log.For(ctx).Fatal("unable to process specification", zap.Error(err), zap.String("path", terraformerServiceInputSpec))
	}
}