mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-28 01:28:52 +00:00
49ee1042a8
As the Supervisor is a privileged container, it has access to host /dev, and therefore has access to boot, data, and state balenaOS partitions. This commit sets up the framework for the following: - Finds the /dev partition that corresponds to each partition based on partition label - Mounts the partitions into set mountpoints in the device - Removes reliance on env vars and mountpoints provided by host's start-balena-supervisor script - Simplifies host path querying by centralizing these queries through methods in lib/host-utils.ts This particular changes env vars for and mounts the boot partition. Since the Supervisor would no longer rely on container `run` arguments provided by a host script, this change moves Supervisor closer to being able to start itself (Supervisor-as-an-app). Change-type: minor Signed-off-by: Christina Ying Wang <christina@balena.io>
35 lines
875 B
TypeScript
35 lines
875 B
TypeScript
process.env.ROOT_MOUNTPOINT = './test/data';
|
|
process.env.BOOT_MOUNTPOINT = '/mnt/boot';
|
|
process.env.CONFIG_MOUNT_POINT = './test/data/config.json';
|
|
process.env.DATABASE_PATH = './test/data/database.sqlite';
|
|
process.env.DATABASE_PATH_2 = './test/data/database2.sqlite';
|
|
process.env.DATABASE_PATH_3 = './test/data/database3.sqlite';
|
|
process.env.LED_FILE = './test/data/led_file';
|
|
|
|
import * as fs from 'fs';
|
|
|
|
// Make sure they are no database files left over from
|
|
// previous runs
|
|
try {
|
|
fs.unlinkSync(process.env.DATABASE_PATH);
|
|
} catch {
|
|
/* noop */
|
|
}
|
|
try {
|
|
fs.unlinkSync(process.env.DATABASE_PATH_2);
|
|
} catch {
|
|
/* noop */
|
|
}
|
|
try {
|
|
fs.unlinkSync(process.env.DATABASE_PATH_3);
|
|
} catch {
|
|
/* noop */
|
|
}
|
|
fs.writeFileSync(
|
|
'./test/data/config.json',
|
|
fs.readFileSync('./test/data/testconfig.json'),
|
|
);
|
|
|
|
import '~/test-lib/mocked-dockerode';
|
|
import '~/test-lib/mocked-iptables';
|