MCPcopy
hub / github.com/grafana/tempo / Run

Method Run

cmd/tempo-cli/cmd-migrate-config.go:71–114  ·  view source on GitHub ↗
(_ *globalOptions)

Source from the content-addressed store, hash-verified

69}
70
71func (cmd *migrateConfigCmd) Run(_ *globalOptions) error {
72 var warnings []string
73
74 // 1. Read YAML into generic map
75 m, err := readConfigMap(cmd.ConfigFile)
76 if err != nil {
77 return err
78 }
79
80 // 2. Detect deployment mode
81 mode := detectMode(m, cmd.Mode, &warnings)
82
83 // 3. Check for legacy overrides format
84 if err := detectLegacyOverrides(m); err != nil {
85 return err
86 }
87
88 // 4. Delete removed 2.x blocks
89 deleteRemovedBlocks(m, &warnings)
90
91 // 5. Add ingest/kafka blocks (microservices only)
92 if err := addIngestBlocks(m, mode, cmd.KafkaAddress, cmd.KafkaTopic); err != nil {
93 return err
94 }
95
96 // 6. Modify overrides for parallel operation
97 modifyOverrides(m, &warnings)
98
99 // 7. Clean metrics-generator local_blocks config
100 cleanLocalBlocks(m, &warnings)
101
102 // 8. Validate through Tempo's 3.0 config
103 validationWarnings, err := validateMigratedConfig(m)
104 if err != nil {
105 return err
106 }
107 warnings = append(warnings, validationWarnings...)
108
109 // 9. Output
110 for _, w := range warnings {
111 fmt.Fprintf(os.Stderr, "WARN: %s\n", w)
112 }
113 return outputMigratedConfig(m)
114}
115
116// readConfigMap reads a YAML file into a normalized map[string]interface{}.
117func readConfigMap(path string) (map[string]interface{}, error) {

Callers 1

runMigrateConfigFunction · 0.95

Calls 9

readConfigMapFunction · 0.85
detectModeFunction · 0.85
detectLegacyOverridesFunction · 0.85
deleteRemovedBlocksFunction · 0.85
addIngestBlocksFunction · 0.85
modifyOverridesFunction · 0.85
cleanLocalBlocksFunction · 0.85
validateMigratedConfigFunction · 0.85
outputMigratedConfigFunction · 0.85

Tested by 1

runMigrateConfigFunction · 0.76