mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-02-07 11:50:27 +00:00
Refactor device-config as part of device-state
Move the device-config module to the device-state folder and export only those functions that are needed elsewhere in the codebase This moves us closer to making the device-state module the only way to modify application and configuration. Change-type: patch
This commit is contained in:
parent
89ddfa6554
commit
51f1fb0f30
@ -5,7 +5,6 @@ import _ from 'lodash';
|
|||||||
import type { PinejsClientRequest } from 'pinejs-client-request';
|
import type { PinejsClientRequest } from 'pinejs-client-request';
|
||||||
|
|
||||||
import * as config from '../config';
|
import * as config from '../config';
|
||||||
import * as deviceConfig from '../device-config';
|
|
||||||
import * as eventTracker from '../event-tracker';
|
import * as eventTracker from '../event-tracker';
|
||||||
import { loadBackupFromMigration } from '../lib/migration';
|
import { loadBackupFromMigration } from '../lib/migration';
|
||||||
|
|
||||||
@ -332,10 +331,10 @@ async function reportInitialEnv(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultConfig = deviceConfig.getDefaults();
|
const defaultConfig = deviceState.getDefaultConfig();
|
||||||
|
|
||||||
const currentConfig = await deviceConfig.getCurrent();
|
const currentConfig = await deviceState.getCurrentConfig();
|
||||||
const targetConfig = deviceConfig.formatConfigKeys(targetConfigUnformatted);
|
const targetConfig = deviceState.formatConfigKeys(targetConfigUnformatted);
|
||||||
|
|
||||||
if (!currentConfig) {
|
if (!currentConfig) {
|
||||||
throw new InternalInconsistencyError(
|
throw new InternalInconsistencyError(
|
||||||
|
@ -11,7 +11,6 @@ import { Volume } from '../compose/volume';
|
|||||||
import * as commitStore from '../compose/commit';
|
import * as commitStore from '../compose/commit';
|
||||||
import * as config from '../config';
|
import * as config from '../config';
|
||||||
import * as db from '../db';
|
import * as db from '../db';
|
||||||
import * as deviceConfig from '../device-config';
|
|
||||||
import * as logger from '../logging';
|
import * as logger from '../logging';
|
||||||
import * as images from '../compose/images';
|
import * as images from '../compose/images';
|
||||||
import * as volumeManager from '../compose/volume-manager';
|
import * as volumeManager from '../compose/volume-manager';
|
||||||
@ -512,7 +511,7 @@ router.get('/v2/device/tags', async (_req, res) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.get('/v2/device/vpn', async (_req, res) => {
|
router.get('/v2/device/vpn', async (_req, res) => {
|
||||||
const conf = await deviceConfig.getCurrent();
|
const conf = await deviceState.getCurrentConfig();
|
||||||
// Build VPNInfo
|
// Build VPNInfo
|
||||||
const info = {
|
const info = {
|
||||||
enabled: conf.SUPERVISOR_VPN_CONTROL === 'true',
|
enabled: conf.SUPERVISOR_VPN_CONTROL === 'true',
|
||||||
|
@ -2,21 +2,22 @@ import _ from 'lodash';
|
|||||||
import { inspect } from 'util';
|
import { inspect } from 'util';
|
||||||
import { promises as fs } from 'fs';
|
import { promises as fs } from 'fs';
|
||||||
|
|
||||||
import * as config from './config';
|
import * as config from '../config';
|
||||||
import * as db from './db';
|
import * as db from '../db';
|
||||||
import * as logger from './logging';
|
import * as logger from '../logging';
|
||||||
import * as dbus from './lib/dbus';
|
import * as dbus from '../lib/dbus';
|
||||||
import type { EnvVarObject } from './types';
|
import type { EnvVarObject } from '../types';
|
||||||
import { UnitNotLoadedError } from './lib/errors';
|
import { UnitNotLoadedError } from '../lib/errors';
|
||||||
import { checkInt, checkTruthy } from './lib/validation';
|
import { checkInt, checkTruthy } from '../lib/validation';
|
||||||
import log from './lib/supervisor-console';
|
import log from '../lib/supervisor-console';
|
||||||
import * as configUtils from './config/utils';
|
import * as fsUtils from '../lib/fs-utils';
|
||||||
import type { SchemaTypeKey } from './config/schema-type';
|
import { pathOnRoot } from '../lib/host-utils';
|
||||||
import { matchesAnyBootConfig } from './config/backends';
|
|
||||||
import type { ConfigBackend } from './config/backends/backend';
|
import * as configUtils from '../config/utils';
|
||||||
import { Odmdata } from './config/backends/odmdata';
|
import type { SchemaTypeKey } from '../config/schema-type';
|
||||||
import * as fsUtils from './lib/fs-utils';
|
import { matchesAnyBootConfig } from '../config/backends';
|
||||||
import { pathOnRoot } from './lib/host-utils';
|
import type { ConfigBackend } from '../config/backends/backend';
|
||||||
|
import { Odmdata } from '../config/backends/odmdata';
|
||||||
|
|
||||||
const vpnServiceName = 'openvpn';
|
const vpnServiceName = 'openvpn';
|
||||||
|
|
||||||
@ -210,7 +211,7 @@ const configKeys: Dictionary<ConfigOption> = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const validKeys = [
|
const validKeys = [
|
||||||
'SUPERVISOR_VPN_CONTROL',
|
'SUPERVISOR_VPN_CONTROL',
|
||||||
'OVERRIDE_LOCK',
|
'OVERRIDE_LOCK',
|
||||||
..._.map(configKeys, 'envVarName'),
|
..._.map(configKeys, 'envVarName'),
|
@ -9,7 +9,7 @@ import * as config from '../config';
|
|||||||
import * as logger from '../logging';
|
import * as logger from '../logging';
|
||||||
|
|
||||||
import * as network from '../network';
|
import * as network from '../network';
|
||||||
import * as deviceConfig from '../device-config';
|
import * as deviceConfig from './device-config';
|
||||||
|
|
||||||
import * as constants from '../lib/constants';
|
import * as constants from '../lib/constants';
|
||||||
import * as dbus from '../lib/dbus';
|
import * as dbus from '../lib/dbus';
|
||||||
@ -26,6 +26,12 @@ import type { InstancedDeviceState } from './target-state';
|
|||||||
import * as TargetState from './target-state';
|
import * as TargetState from './target-state';
|
||||||
export { getTarget, setTarget } from './target-state';
|
export { getTarget, setTarget } from './target-state';
|
||||||
|
|
||||||
|
export {
|
||||||
|
formatConfigKeys,
|
||||||
|
getCurrent as getCurrentConfig,
|
||||||
|
getDefaults as getDefaultConfig,
|
||||||
|
} from './device-config';
|
||||||
|
|
||||||
import type { DeviceLegacyState, DeviceState, DeviceReport } from '../types';
|
import type { DeviceLegacyState, DeviceState, DeviceReport } from '../types';
|
||||||
import type {
|
import type {
|
||||||
CompositionStepT,
|
CompositionStepT,
|
||||||
|
@ -6,9 +6,9 @@ import { imageFromService } from '../compose/images';
|
|||||||
import { NumericIdentifier } from '../types';
|
import { NumericIdentifier } from '../types';
|
||||||
import { setTarget } from './target-state';
|
import { setTarget } from './target-state';
|
||||||
import * as config from '../config';
|
import * as config from '../config';
|
||||||
import * as deviceConfig from '../device-config';
|
|
||||||
import * as eventTracker from '../event-tracker';
|
import * as eventTracker from '../event-tracker';
|
||||||
import * as imageManager from '../compose/images';
|
import * as imageManager from '../compose/images';
|
||||||
|
import * as deviceState from '../device-state';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
AppsJsonParseError,
|
AppsJsonParseError,
|
||||||
@ -126,8 +126,8 @@ export async function loadTargetFromFile(appsPath: string): Promise<boolean> {
|
|||||||
await imageManager.save(image);
|
await imageManager.save(image);
|
||||||
}
|
}
|
||||||
|
|
||||||
const deviceConf = await deviceConfig.getCurrent();
|
const deviceConf = await deviceState.getCurrentConfig();
|
||||||
const formattedConf = deviceConfig.formatConfigKeys(preloadState.config);
|
const formattedConf = deviceState.formatConfigKeys(preloadState.config);
|
||||||
const localState = {
|
const localState = {
|
||||||
[uuid]: {
|
[uuid]: {
|
||||||
name: '',
|
name: '',
|
||||||
|
@ -6,7 +6,7 @@ import * as config from '../config';
|
|||||||
import * as db from '../db';
|
import * as db from '../db';
|
||||||
|
|
||||||
import * as globalEventBus from '../event-bus';
|
import * as globalEventBus from '../event-bus';
|
||||||
import * as deviceConfig from '../device-config';
|
import * as deviceConfig from './device-config';
|
||||||
|
|
||||||
import { TargetStateError } from '../lib/errors';
|
import { TargetStateError } from '../lib/errors';
|
||||||
import { takeGlobalLockRO, takeGlobalLockRW } from '../lib/process-lock';
|
import { takeGlobalLockRO, takeGlobalLockRW } from '../lib/process-lock';
|
||||||
|
@ -5,7 +5,7 @@ import type { SinonStub, SinonSpy } from 'sinon';
|
|||||||
import { stub, spy } from 'sinon';
|
import { stub, spy } from 'sinon';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
|
|
||||||
import * as deviceConfig from '~/src/device-config';
|
import * as deviceConfig from '~/src/device-state/device-config';
|
||||||
import * as fsUtils from '~/lib/fs-utils';
|
import * as fsUtils from '~/lib/fs-utils';
|
||||||
import * as logger from '~/src/logging';
|
import * as logger from '~/src/logging';
|
||||||
import { Extlinux } from '~/src/config/backends/extlinux';
|
import { Extlinux } from '~/src/config/backends/extlinux';
|
||||||
|
@ -8,7 +8,7 @@ import { expect } from 'chai';
|
|||||||
import * as TargetState from '~/src/api-binder/poll';
|
import * as TargetState from '~/src/api-binder/poll';
|
||||||
import Log from '~/lib/supervisor-console';
|
import Log from '~/lib/supervisor-console';
|
||||||
import * as request from '~/lib/request';
|
import * as request from '~/lib/request';
|
||||||
import * as deviceConfig from '~/src/device-config';
|
import * as deviceConfig from '~/src/device-state/device-config';
|
||||||
import { UpdatesLockedError } from '~/lib/errors';
|
import { UpdatesLockedError } from '~/lib/errors';
|
||||||
import { setTimeout } from 'timers/promises';
|
import { setTimeout } from 'timers/promises';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user