@@ -26,13 +26,15 @@ type SaltAuth struct {
26
26
type SaltMaster struct {
27
27
Address string `json:"address"`
28
28
Auth SaltAuth `json:"auth,omitempty"`
29
+ Domain string `json:"domain,omitempty"`
29
30
}
30
31
31
32
type SaltMinion struct {
32
33
Address string `json:"address"`
33
34
Roles []string `json:"roles,omitempty"`
34
35
Server string `json:"server,omitempty"`
35
36
HostGroup string `json:"hostGroup,omitempty"`
37
+ Domain string `json:"domain,omitempty"`
36
38
}
37
39
38
40
type SaltPillar struct {
@@ -70,12 +72,16 @@ func (r SaltActionRequest) distributeAction(user string, pass string) (result []
70
72
if minion .Server == "" {
71
73
minion .Server = r .Master .Address
72
74
}
75
+ if minion .Domain == "" {
76
+ minion .Domain = r .Master .Domain
77
+ }
73
78
minionPayload = append (minionPayload , minion )
74
79
}
75
80
76
81
for res := range DistributePayload (targets , minionPayload , SaltMinionEp + "/" + r .Action , user , pass ) {
77
82
result = append (result , res )
78
83
}
84
+
79
85
if len (r .Master .Address ) > 0 {
80
86
result = append (result , <- DistributePayload ([]string {r .Master .Address }, []Payload {r .Master }, SaltServerEp + "/" + r .Action , user , pass ))
81
87
}
@@ -95,6 +101,11 @@ func SaltMinionRunRequestHandler(w http.ResponseWriter, req *http.Request) {
95
101
}
96
102
log .Printf ("[SaltMinionRunRequestHandler] received json: %s" , saltMinion .AsByteArray ())
97
103
104
+ err = ensureIpv6Resolvable (saltMinion .Domain )
105
+ if err != nil {
106
+ log .Printf ("[ERROR] while hostfile update: %s" , err )
107
+ }
108
+
98
109
grainConfig := GrainConfig {Roles : saltMinion .Roles , HostGroup : saltMinion .HostGroup }
99
110
grainYaml , err := yaml .Marshal (grainConfig )
100
111
var resp model.Response
@@ -170,6 +181,11 @@ func SaltServerRunRequestHandler(w http.ResponseWriter, req *http.Request) {
170
181
return
171
182
}
172
183
184
+ ensureIpv6Resolvable (saltMaster .Domain )
185
+ if err != nil {
186
+ log .Printf ("[ERROR] while hostfile update: %s" , err )
187
+ }
188
+
173
189
resp , err := CreateUser (saltMaster )
174
190
resp .WriteHttp (w )
175
191
if err != nil {
0 commit comments