Replace dataroot module with BinDir and DataDir on instance, adapt modules

This commit is contained in:
Daniel
2024-11-06 10:48:02 +01:00
parent 0f3f3c360f
commit 7bc1c3b764
39 changed files with 819 additions and 482 deletions

View File

@@ -15,8 +15,8 @@ import (
)
var (
intelResource *updates.File
intelResourcePath = "intel/spn/main-intel.yaml"
intelResource *updates.Artifact
intelResourceName = "main-intel.yaml"
intelResourceMapName = "main"
intelResourceUpdateLock sync.Mutex
)
@@ -42,18 +42,21 @@ func updateSPNIntel(_ context.Context, _ interface{}) (err error) {
return fmt.Errorf("intel resource not for map %q", conf.MainMapName)
}
// Check if there is something to do.
// TODO(vladimir): is update check needed
if intelResource != nil { // && !intelResource.UpgradeAvailable() {
return nil
}
// Get intel file and load it from disk.
intelResource, err = module.instance.IntelUpdates().GetFile(intelResourcePath)
// Get possibly updated file.
file, err := module.instance.IntelUpdates().GetFile(intelResourceName)
if err != nil {
return fmt.Errorf("failed to get SPN intel update: %w", err)
}
intelData, err := os.ReadFile(intelResource.Path())
// Check if file is newer.
// Continue on check failure.
newer, ok := file.IsNewerThan(intelResource)
if ok && !newer {
return nil
}
// Load intel file from disk.
intelData, err := os.ReadFile(file.Path())
if err != nil {
return fmt.Errorf("failed to load SPN intel update: %w", err)
}
@@ -64,8 +67,15 @@ func updateSPNIntel(_ context.Context, _ interface{}) (err error) {
return fmt.Errorf("failed to parse SPN intel update: %w", err)
}
// Apply new intel.
setVirtualNetworkConfig(intel.VirtualNetworks)
return navigator.Main.UpdateIntel(intel, cfgOptionTrustNodeNodes())
err = navigator.Main.UpdateIntel(intel, cfgOptionTrustNodeNodes())
if err != nil {
return fmt.Errorf("failed to update intel on map: %w", err)
}
intelResource = file
return nil
}
func resetSPNIntel() {