github.com/klaytn/klaytn@v1.10.2/cmd/homi/docker/service/grafana.go (about)

     1  package service
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"text/template"
     7  )
     8  
     9  type GrafanaService struct {
    10  	IP string
    11  }
    12  
    13  func (gf GrafanaService) String() string {
    14  	tmpl, err := template.New("GrafanaService").Parse(grafanaServiceTemplate)
    15  	if err != nil {
    16  		fmt.Printf("Failed to parse template, %v", err)
    17  		return ""
    18  	}
    19  
    20  	result := new(bytes.Buffer)
    21  	err = tmpl.Execute(result, gf)
    22  	if err != nil {
    23  		fmt.Printf("Failed to render template, %v", err)
    24  		return ""
    25  	}
    26  	return result.String()
    27  }
    28  
    29  var grafanaServiceTemplate = `grafana:
    30      hostname: grafana
    31      image: grafana/grafana:5.2.2
    32      ports:
    33        - 3000:3000
    34      networks:
    35        app_net:
    36          ipv4_address: {{ .IP }}
    37      restart: "no"
    38  `
    39  
    40  func NewGrafanaService(ip string) *GrafanaService {
    41  	return &GrafanaService{
    42  		IP: ip,
    43  	}
    44  }