@@ -9,13 +9,23 @@ import (
99 "strings"
1010
1111 "github.com/spf13/cobra"
12+ "github.com/uyuni-project/minima/alerts"
1213 "github.com/uyuni-project/minima/get"
1314 "github.com/uyuni-project/minima/updates"
1415 yaml "gopkg.in/yaml.v2"
1516)
1617
1718const sccUrl = "https://scc.suse.com"
1819
20+ // Config maps the configuration in minima.yaml
21+ type Config struct {
22+ Alerts alerts.AlertsConfig
23+ Storage get.StorageConfig
24+ SCC get.SCC
25+ OBS updates.OBS
26+ HTTP []get.HTTPRepoConfig
27+ }
28+
1929// syncCmd represents the sync command
2030var (
2131 syncCmd = & cobra.Command {
@@ -54,18 +64,34 @@ var (
5464 Run : func (cmd * cobra.Command , args []string ) {
5565 initConfig ()
5666
57- var errorflag bool = false
58- syncers , err := syncersFromConfig (cfgString )
67+ config , err := parseConfig (cfgString )
68+ if err != nil {
69+ log .Fatal (err )
70+ }
71+
72+ syncers , err := syncersFromConfig (config )
73+ if err != nil {
74+ log .Fatal (err )
75+ }
76+
77+ alertsManager , err := alerts .NewAlertsManager (config .Alerts )
5978 if err != nil {
6079 log .Fatal (err )
61- errorflag = true
6280 }
81+
82+ var errorflag bool = false
6383 for _ , syncer := range syncers {
64- log .Printf ("Processing repo: %s" , syncer .URL .String ())
84+ repo := syncer .URL .String ()
85+ log .Printf ("Processing repo: %s" , repo )
86+
6587 err := syncer .StoreRepo ()
6688 if err != nil {
6789 log .Println (err )
6890 errorflag = true
91+
92+ if err := alertsManager .DispatchAlert (repo , err ); err != nil {
93+ log .Fatal (err )
94+ }
6995 } else {
7096 log .Println ("...done." )
7197 }
@@ -80,19 +106,7 @@ var (
80106 skipLegacyPackages bool
81107)
82108
83- // Config maps the configuration in minima.yaml
84- type Config struct {
85- Storage get.StorageConfig
86- SCC get.SCC
87- OBS updates.OBS
88- HTTP []get.HTTPRepoConfig
89- }
90-
91- func syncersFromConfig (configString string ) ([]* get.Syncer , error ) {
92- config , err := parseConfig (configString )
93- if err != nil {
94- return nil , err
95- }
109+ func syncersFromConfig (config Config ) ([]* get.Syncer , error ) {
96110 //---passing the flag value to a global variable in get package, to disables syncing of i586 and i686 rpms (usually inside x86_64)
97111 get .SkipLegacy = skipLegacyPackages
98112
0 commit comments