@@ -9,13 +9,23 @@ import (
9
9
"strings"
10
10
11
11
"github.com/spf13/cobra"
12
+ "github.com/uyuni-project/minima/alerts"
12
13
"github.com/uyuni-project/minima/get"
13
14
"github.com/uyuni-project/minima/updates"
14
15
yaml "gopkg.in/yaml.v2"
15
16
)
16
17
17
18
const sccUrl = "https://scc.suse.com"
18
19
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
+
19
29
// syncCmd represents the sync command
20
30
var (
21
31
syncCmd = & cobra.Command {
@@ -54,18 +64,34 @@ var (
54
64
Run : func (cmd * cobra.Command , args []string ) {
55
65
initConfig ()
56
66
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 )
59
78
if err != nil {
60
79
log .Fatal (err )
61
- errorflag = true
62
80
}
81
+
82
+ var errorflag bool = false
63
83
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
+
65
87
err := syncer .StoreRepo ()
66
88
if err != nil {
67
89
log .Println (err )
68
90
errorflag = true
91
+
92
+ if err := alertsManager .DispatchAlert (repo , err ); err != nil {
93
+ log .Fatal (err )
94
+ }
69
95
} else {
70
96
log .Println ("...done." )
71
97
}
@@ -80,19 +106,7 @@ var (
80
106
skipLegacyPackages bool
81
107
)
82
108
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 ) {
96
110
//---passing the flag value to a global variable in get package, to disables syncing of i586 and i686 rpms (usually inside x86_64)
97
111
get .SkipLegacy = skipLegacyPackages
98
112
0 commit comments