ensuring apps have same order in report and desire list
(reApps, deApps []specv1.AppInfo)
| 263 | |
| 264 | // ensuring apps have same order in report and desire list |
| 265 | func alignApps(reApps, deApps []specv1.AppInfo) []specv1.AppInfo { |
| 266 | if len(reApps) == 0 || len(deApps) == 0 { |
| 267 | return reApps |
| 268 | } |
| 269 | as := map[string]specv1.AppInfo{} |
| 270 | for _, a := range reApps { |
| 271 | as[a.Name] = a |
| 272 | } |
| 273 | var res []specv1.AppInfo |
| 274 | for _, a := range deApps { |
| 275 | if r, ok := as[a.Name]; ok { |
| 276 | res = append(res, r) |
| 277 | delete(as, a.Name) |
| 278 | } |
| 279 | } |
| 280 | for _, a := range as { |
| 281 | res = append(res, a) |
| 282 | } |
| 283 | return res |
| 284 | } |
| 285 | |
| 286 | func isObjectConfig(cfg *specv1.Configuration) bool { |
| 287 | for k := range cfg.Data { |