diff --git a/pkg/cluster/manager/deploy.go b/pkg/cluster/manager/deploy.go index a6053ea31f..14b5f20675 100644 --- a/pkg/cluster/manager/deploy.go +++ b/pkg/cluster/manager/deploy.go @@ -87,6 +87,23 @@ func (m *Manager) Deploy( return err } + instCnt := 0 + topo.IterInstance(func(inst spec.Instance) { + switch inst.ComponentName() { + // monitoring components are only useful when deployed with + // core components, we do not support deploying any bare + // monitoring system. + case spec.ComponentGrafana, + spec.ComponentPrometheus, + spec.ComponentAlertmanager: + return + } + instCnt++ + }) + if instCnt < 1 { + return fmt.Errorf("no valid instance found in the input topology, please check your config") + } + spec.ExpandRelativeDir(topo) base := topo.BaseTopo()