Skip to content

Commit

Permalink
Only recreate on modified user settings (#2035)
Browse files Browse the repository at this point in the history
* Only recreate on modified user settings

* Clean setStakerPkgConfig
  • Loading branch information
dappnodedev authored Sep 20, 2024
1 parent 80b3a8f commit 2e541df
Showing 1 changed file with 25 additions and 10 deletions.
35 changes: 25 additions & 10 deletions packages/stakers/src/stakerComponent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export class StakerComponent {
userSettings: UserSettings;
}): Promise<void> {
logs.info(`Persisting ${dnpName}`);
await this.setStakerPkgConfig({ dnpName, isInstalled: true, userSettings, forceRecreate: false });
await this.setStakerPkgConfig({ dnpName, isInstalled: true, userSettings });
}

protected async setNew({
Expand Down Expand Up @@ -133,27 +133,42 @@ export class StakerComponent {
private async setStakerPkgConfig({
dnpName,
isInstalled,
userSettings,
forceRecreate = true
userSettings
}: {
dnpName: string;
isInstalled: boolean;
userSettings: UserSettings;
forceRecreate?: boolean;
}): Promise<void> {
// ensure pkg installed
if (!isInstalled)
if (isInstalled) {
await this.setInstalledStakerPkgConfig({ dnpName, userSettings });
} else {
await packageInstall(this.dappnodeInstaller, {
name: dnpName,
userSettings: userSettings ? { [dnpName]: userSettings } : {}
});
else if (userSettings) {
}
}

private async setInstalledStakerPkgConfig({
dnpName,
userSettings
}: {
dnpName: string;
userSettings: UserSettings;
}): Promise<void> {
let forceRecreate = false;

if (userSettings) {
const composeEditor = new ComposeFileEditor(dnpName, false);
const userSettingsPrev: UserSettingsAllDnps = {};
userSettingsPrev[dnpName] = composeEditor.getUserSettings();
if (!isMatch(userSettingsPrev, userSettings)) {

const previousSettings: UserSettingsAllDnps = {
[dnpName]: composeEditor.getUserSettings()
};

if (!isMatch(previousSettings, userSettings)) {
composeEditor.applyUserSettings(userSettings, { dnpName });
composeEditor.write();
forceRecreate = true; // Only recreate if userSettings changed
}
}

Expand Down

0 comments on commit 2e541df

Please sign in to comment.