@@ -22,13 +22,15 @@ import (
2222)
2323
2424const (
25- monitoringDirectory = "monitoring"
26- dashboardsDirectory = "dashboards"
27- dashboardBaseURL = "https://raw.githubusercontent.com/oracle/coherence-operator/refs/heads/main/dashboards/grafana"
28- configBaseURL = "https://raw.githubusercontent.com/oracle/coherence-cli/refs/heads/main/monitoring"
29- grafanaPort = 3000
30- prometheusPort = 9090
31- dockerComposeYAML = "docker-compose.yaml"
25+ monitoringDirectory = "monitoring"
26+ dashboardsDirectory = "dashboards"
27+ dashboardBaseURL = "https://raw.githubusercontent.com/oracle/coherence-operator/refs/heads/main/dashboards/grafana"
28+ configBaseURL = "https://raw.githubusercontent.com/oracle/coherence-cli/refs/heads/main/monitoring"
29+ grafanaPort = 3000
30+ prometheusPort = 9090
31+ dockerComposeYAML = "docker-compose.yaml"
32+ localhost = "127.0.0.1"
33+ useDockerComposeMessage = "use docker-compose instead of docker compose"
3234)
3335
3436var (
6668 dockerComposeYAML ,
6769 "prometheus.yaml" ,
6870 }
71+
72+ useDockerCompose bool
6973)
7074
7175// initMonitoringCmd represents the init monitoring command.
@@ -151,10 +155,10 @@ the environment is setup correctly.`,
151155 grafanaOutput string
152156 promOutput string
153157 err = mon .validateEnvironment ()
154- promURL = fmt .Sprintf ("http://localhost :%v/" , prometheusPort )
158+ promURL = fmt .Sprintf ("http://%s :%v/" , localhost , prometheusPort )
155159 promHealthURL = fmt .Sprintf ("%s-/healthy" , promURL )
156- grafanaURL = fmt .Sprintf ("http://localhost :%v/d/coh-main/coherence-dashboard-main" , grafanaPort )
157- grafanaHealthURL = fmt .Sprintf ("http://localhost :%d/api/health" , grafanaPort )
160+ grafanaURL = fmt .Sprintf ("http://%s :%v/d/coh-main/coherence-dashboard-main" , localhost , grafanaPort )
161+ grafanaHealthURL = fmt .Sprintf ("http://%s :%d/api/health" , localhost , grafanaPort )
158162 )
159163
160164 if err != nil {
@@ -211,7 +215,7 @@ Prometheus using docker compose.`,
211215 return err
212216 }
213217
214- err = mon .dockerCommand ([]string {"compose" , "-f" , path .Join (mon .monitoringDir , dockerComposeYAML ), "up" , "-d" })
218+ err = mon .dockerComposeCommand ([]string {"-f" , path .Join (mon .monitoringDir , dockerComposeYAML ), "up" , "-d" })
215219 if err != nil {
216220 return err
217221 }
@@ -244,7 +248,7 @@ using docker compose.`,
244248 return nil
245249 }
246250
247- err = mon .dockerCommand ([]string {"compose" , "-f" , path .Join (mon .monitoringDir , dockerComposeYAML ), "down" })
251+ err = mon .dockerComposeCommand ([]string {"-f" , path .Join (mon .monitoringDir , dockerComposeYAML ), "down" })
248252 if err != nil {
249253 return err
250254 }
@@ -392,6 +396,22 @@ func (m *monitoring) dockerCommand(args []string) error {
392396 return executeHostCommand (m .cmd , "docker" , args ... )
393397}
394398
399+ func (m * monitoring ) dockerComposeCommand (args []string ) error {
400+ finalArgs := args
401+ command := "docker"
402+
403+ if useDockerCompose {
404+ command = "docker-compose"
405+ } else {
406+ updatedArgs := []string {"compose" }
407+ finalArgs = append (updatedArgs , args ... )
408+ }
409+
410+ m .cmd .Printf ("Issuing %s %s\n " , command , strings .Join (finalArgs , " " ))
411+
412+ return executeHostCommand (m .cmd , command , finalArgs ... )
413+ }
414+
395415func monitoringNotValid (message string ) error {
396416 return fmt .Errorf ("unable to validate monitoring due to %s, please run 'cohctl init monitoring'" , message )
397417}
@@ -454,4 +474,6 @@ func streamOutput(r io.Reader, w io.Writer) {
454474func init () {
455475 initMonitoringCmd .Flags ().BoolVarP (& automaticallyConfirm , "yes" , "y" , false , confirmOptionMessage )
456476 stopMonitoringCmd .Flags ().BoolVarP (& automaticallyConfirm , "yes" , "y" , false , confirmOptionMessage )
477+ stopMonitoringCmd .Flags ().BoolVarP (& useDockerCompose , "docker-compose" , "D" , false , useDockerComposeMessage )
478+ startMonitoringCmd .Flags ().BoolVarP (& useDockerCompose , "docker-compose" , "D" , false , useDockerComposeMessage )
457479}
0 commit comments