@@ -29,7 +29,9 @@ import (
2929
3030const (
3131 dockerComposeYmlUrl = "https://raw.githubusercontent.com/funlessdev/fl-deploy/main/docker-compose/docker-compose.yml"
32+ envUrl = "https://raw.githubusercontent.com/funlessdev/fl-deploy/main/docker-compose/.env.example"
3233 prometheusConfigYmlUrl = "https://raw.githubusercontent.com/funlessdev/fl-deploy/main/docker-compose/prometheus/config.yml"
34+ filebeatComposeYmlUrl = "https://raw.githubusercontent.com/funlessdev/fl-deploy/main/docker-compose/filebeat/filebeat.compose.yml"
3335)
3436
3537type Up struct {
@@ -42,7 +44,7 @@ func (u *Up) Run(ctx context.Context, dk deploy.DockerShell, logger log.FLogger)
4244
4345 _ = logger .StartSpinner ("Setting things up..." )
4446
45- composeFilePath , err := downloadDockerCompose ( )
47+ composeFilePath , err := downloadFile ( "docker-compose.yml" , dockerComposeYmlUrl )
4648 if err != nil {
4749 return logger .StopSpinner (err )
4850 }
@@ -52,7 +54,18 @@ func (u *Up) Run(ctx context.Context, dk deploy.DockerShell, logger log.FLogger)
5254 return logger .StopSpinner (err )
5355 }
5456
55- if err := downloadPrometheusConfig (); err != nil {
57+ // prometheus config file
58+ if err := downloadFolderFile ("prometheus" , "config.yml" , prometheusConfigYmlUrl ); err != nil {
59+ return logger .StopSpinner (err )
60+ }
61+
62+ // filebeat compose file
63+ if err := downloadFolderFile ("filebeat" , "filebeat.compose.yml" , filebeatComposeYmlUrl ); err != nil {
64+ return logger .StopSpinner (err )
65+ }
66+
67+ // .env file
68+ if _ , err := downloadFile (".env" , envUrl ); err != nil {
5669 return logger .StopSpinner (err )
5770 }
5871
@@ -68,14 +81,13 @@ func (u *Up) Run(ctx context.Context, dk deploy.DockerShell, logger log.FLogger)
6881 return nil
6982}
7083
71- func downloadDockerCompose ( ) (string , error ) {
72- // Check if it's already present
73- if _ , path , err := homedir .ReadFromConfigDir ("docker-compose.yml" ); err == nil {
84+ func downloadFile ( name , url string ) (string , error ) {
85+ // Check if already present
86+ if _ , path , err := homedir .ReadFromConfigDir (name ); err == nil {
7487 return path , nil
7588 }
7689
77- // Download docker-compose.yml
78- resp , err := http .Get (dockerComposeYmlUrl )
90+ resp , err := http .Get (url )
7991 if err != nil {
8092 return "" , err
8193 }
@@ -85,17 +97,19 @@ func downloadDockerCompose() (string, error) {
8597 return "" , err
8698 }
8799
88- return homedir .WriteToConfigDir ("docker-compose.yml" , content , true )
100+ return homedir .WriteToConfigDir (name , content , true )
101+
89102}
90103
91- func downloadPrometheusConfig () error {
104+ func downloadFolderFile (folder , file , url string ) error {
105+ filepath := folder + "/" + file
106+
92107 // Check if it's already present
93- if _ , _ , err := homedir .ReadFromConfigDir ("prometheus/config.yml" ); err == nil {
108+ if _ , _ , err := homedir .ReadFromConfigDir (filepath ); err == nil {
94109 return nil
95110 }
96111
97- // Download prometheus/config.yml
98- resp , err := http .Get (prometheusConfigYmlUrl )
112+ resp , err := http .Get (url )
99113 if err != nil {
100114 return err
101115 }
@@ -105,11 +119,11 @@ func downloadPrometheusConfig() error {
105119 return err
106120 }
107121
108- if _ , err := homedir .CreateDirInConfigDir ("prometheus" ); err != nil {
122+ if _ , err := homedir .CreateDirInConfigDir (folder ); err != nil {
109123 return err
110124 }
111125
112- _ , err = homedir .WriteToConfigDir ("prometheus/config.yml" , content , true )
126+ _ , err = homedir .WriteToConfigDir (filepath , content , true )
113127 return err
114128}
115129
0 commit comments