penguins-eggs 9.2.2 → 9.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -130
- package/addons/eggs/theme/livecd/isolinux.theme.cfg +36 -41
- package/conf/eggs.yaml +41 -73
- package/conf/exclude.list +1 -0
- package/conf/krill.yaml +38 -0
- package/lib/classes/daddy.d.ts +2 -2
- package/lib/classes/distro.d.ts +2 -0
- package/lib/classes/distro.js +6 -0
- package/lib/classes/incubation/fisherman.js +1 -1
- package/lib/classes/pacman.js +3 -2
- package/lib/classes/pxe.d.ts +42 -0
- package/lib/classes/pxe.js +242 -0
- package/lib/classes/settings.d.ts +3 -3
- package/lib/classes/settings.js +2 -1
- package/lib/classes/tools.d.ts +2 -2
- package/lib/classes/utils.d.ts +1 -1
- package/lib/classes/utils.js +1 -1
- package/lib/commands/cuckoo.d.ts +24 -0
- package/lib/commands/cuckoo.js +69 -0
- package/lib/commands/install.d.ts +2 -2
- package/lib/commands/install.js +8 -14
- package/lib/commands/produce.js +3 -3
- package/lib/commands/{info.d.ts → status.d.ts} +1 -1
- package/lib/commands/{info.js → status.js} +5 -5
- package/lib/components/summary.d.ts +6 -1
- package/lib/components/summary.js +25 -8
- package/lib/components/users.js +3 -4
- package/lib/interfaces/i-config-tools.d.ts +1 -1
- package/lib/interfaces/i-distro.d.ts +2 -0
- package/lib/interfaces/{i-config.d.ts → i-eggs-config.d.ts} +2 -4
- package/lib/interfaces/{i-config.js → i-eggs-config.js} +0 -0
- package/lib/interfaces/i-krill-config.d.ts +26 -0
- package/lib/interfaces/i-krill-config.js +2 -0
- package/lib/interfaces/i-packages.d.ts +6 -9
- package/lib/interfaces/i-packages.js +3 -0
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/krill/krill-prepare.d.ts +5 -3
- package/lib/krill/krill-prepare.js +159 -35
- package/lib/krill/krill-sequence.d.ts +5 -3
- package/lib/krill/krill-sequence.js +26 -12
- package/lib/krill/modules/fstab.d.ts +5 -0
- package/lib/krill/modules/fstab.js +5 -0
- package/lib/krill/modules/grubcfg.d.ts +5 -0
- package/lib/krill/modules/grubcfg.js +5 -0
- package/lib/krill/modules/hostname.d.ts +5 -0
- package/lib/krill/modules/hostname.js +5 -0
- package/lib/krill/modules/hosts.d.ts +5 -0
- package/lib/krill/modules/hosts.js +5 -0
- package/lib/krill/modules/initramfs-cfg.d.ts +5 -0
- package/lib/krill/modules/initramfs-cfg.js +5 -0
- package/lib/krill/modules/initramfs.d.ts +5 -0
- package/lib/krill/modules/initramfs.js +5 -0
- package/lib/krill/modules/locale-cfg.d.ts +5 -0
- package/lib/krill/modules/locale-cfg.js +5 -0
- package/lib/krill/modules/locale.d.ts +5 -0
- package/lib/krill/modules/locale.js +5 -0
- package/lib/krill/modules/machine-id.d.ts +5 -0
- package/lib/krill/modules/machine-id.js +5 -0
- package/lib/krill/modules/mkfs.d.ts +5 -0
- package/lib/krill/modules/mkfs.js +5 -0
- package/lib/krill/modules/mount-fs.d.ts +5 -0
- package/lib/krill/modules/mount-fs.js +5 -0
- package/lib/krill/modules/mount-vfs.d.ts +5 -0
- package/lib/krill/modules/mount-vfs.js +5 -0
- package/lib/krill/modules/network-cfg.d.ts +5 -0
- package/lib/krill/modules/network-cfg.js +5 -0
- package/lib/krill/modules/packages.d.ts +14 -0
- package/lib/krill/modules/packages.js +65 -0
- package/lib/krill/modules/{partitions.d.ts → partition.d.ts} +5 -0
- package/lib/krill/modules/{partitions.js → partition.js} +5 -0
- package/lib/krill/modules/remove-installer-link.d.ts +5 -0
- package/lib/krill/modules/remove-installer-link.js +5 -0
- package/lib/krill/modules/set-keyboard.d.ts +5 -0
- package/lib/krill/modules/set-keyboard.js +37 -18
- package/lib/krill/modules/set-timezone.d.ts +5 -0
- package/lib/krill/modules/set-timezone.js +5 -0
- package/lib/krill/modules/umount.d.ts +5 -0
- package/lib/krill/modules/umount.js +5 -0
- package/lib/krill/modules/unpackfs.d.ts +5 -0
- package/lib/krill/modules/unpackfs.js +5 -0
- package/manpages/doc/man/eggs.1.gz +0 -0
- package/manpages/doc/man/eggs.html +72 -83
- package/package.json +6 -2
- package/scripts/_eggs +23 -24
- package/scripts/eggs.bash +4 -4
- package/scripts/mom-cli.sh +11 -11
- package/manpages/doc/man/eggs.roll.gz +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* penguins-eggs-v7 based on Debian live
|
|
3
|
+
* author: Piero Proietti
|
|
4
|
+
* email: piero.proietti@gmail.com
|
|
5
|
+
* license: MIT
|
|
6
|
+
*/
|
|
7
|
+
import { Command } from '@oclif/core';
|
|
8
|
+
import { IWorkDir } from '../interfaces/i-workdir';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export default class Cuckoo extends Command {
|
|
13
|
+
config_file: string;
|
|
14
|
+
snapshot_dir: string;
|
|
15
|
+
work_dir: IWorkDir;
|
|
16
|
+
static description: string;
|
|
17
|
+
static flags: {
|
|
18
|
+
full: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
20
|
+
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
21
|
+
};
|
|
22
|
+
static examples: string[];
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
/**
|
|
5
|
+
* penguins-eggs-v7 based on Debian live
|
|
6
|
+
* author: Piero Proietti
|
|
7
|
+
* email: piero.proietti@gmail.com
|
|
8
|
+
* license: MIT
|
|
9
|
+
*/
|
|
10
|
+
const core_1 = require("@oclif/core");
|
|
11
|
+
const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
|
|
12
|
+
const pacman_1 = tslib_1.__importDefault(require("../classes/pacman"));
|
|
13
|
+
const pxe_1 = tslib_1.__importDefault(require("../classes/pxe"));
|
|
14
|
+
const utils_2 = require("../lib/utils");
|
|
15
|
+
const distro_1 = tslib_1.__importDefault(require("../classes/distro"));
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
class Cuckoo extends core_1.Command {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.config_file = '/etc/penguins-eggs.d/eggs.yaml';
|
|
23
|
+
this.snapshot_dir = '';
|
|
24
|
+
this.work_dir = {};
|
|
25
|
+
}
|
|
26
|
+
async run() {
|
|
27
|
+
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
28
|
+
const { flags } = await this.parse(Cuckoo);
|
|
29
|
+
let verbose = flags.verbose;
|
|
30
|
+
const echo = utils_1.default.setEcho(verbose);
|
|
31
|
+
let full = flags.full;
|
|
32
|
+
const distro = new distro_1.default();
|
|
33
|
+
if (distro.familyId === 'debian') {
|
|
34
|
+
if (utils_1.default.isRoot()) {
|
|
35
|
+
if (!pacman_1.default.packageIsInstalled('dnsmasq') ||
|
|
36
|
+
(!pacman_1.default.packageIsInstalled("pxelinux"))) {
|
|
37
|
+
console.log('eggs cuckoo need to nstall dnsmasq and pxelinux.');
|
|
38
|
+
if (await utils_1.default.customConfirm()) {
|
|
39
|
+
console.log('Installing dnsmasq and pxelinux... wait a moment');
|
|
40
|
+
await (0, utils_2.exec)('sudo apt-get update -y', utils_1.default.setEcho(false));
|
|
41
|
+
await (0, utils_2.exec)('sudo apt-get install dnsmasq pxelinux -y', utils_1.default.setEcho(false));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log('You need to install dnsmasq to start cuckoo PXE server');
|
|
45
|
+
process.exit();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const pxe = new pxe_1.default();
|
|
49
|
+
await pxe.fertilization();
|
|
50
|
+
await pxe.structure();
|
|
51
|
+
await pxe.dnsMasq(full);
|
|
52
|
+
await pxe.httpStart();
|
|
53
|
+
console.log(`Serving PXE boot, read more at: http://${utils_1.default.address()}`);
|
|
54
|
+
console.log(`CTRL-c to quit`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
console.log(`Sorry: actually cuckoo is enabled just for debian family!`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.default = Cuckoo;
|
|
63
|
+
Cuckoo.description = 'cuckoo start a PXE boot server serving the live image';
|
|
64
|
+
Cuckoo.flags = {
|
|
65
|
+
full: core_1.Flags.boolean({ char: 'f' }),
|
|
66
|
+
help: core_1.Flags.help({ char: 'h' }),
|
|
67
|
+
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
|
|
68
|
+
};
|
|
69
|
+
Cuckoo.examples = ['$ sudo eggs cuckoo\nstart a PXE boot server'];
|
|
@@ -6,16 +6,16 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Command } from '@oclif/core';
|
|
8
8
|
/**
|
|
9
|
-
* Class
|
|
9
|
+
* Class Krill
|
|
10
10
|
*/
|
|
11
11
|
export default class Install extends Command {
|
|
12
12
|
static flags: {
|
|
13
|
+
unattended: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
14
|
crypted: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
15
|
pve: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
16
|
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
16
17
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
17
18
|
};
|
|
18
|
-
static aliases: string[];
|
|
19
19
|
static description: string;
|
|
20
20
|
static examples: string[];
|
|
21
21
|
/**
|
package/lib/commands/install.js
CHANGED
|
@@ -11,7 +11,7 @@ const core_1 = require("@oclif/core");
|
|
|
11
11
|
const utils_1 = tslib_1.__importDefault(require("../classes/utils"));
|
|
12
12
|
const krill_prepare_1 = tslib_1.__importDefault(require("../krill/krill-prepare"));
|
|
13
13
|
/**
|
|
14
|
-
* Class
|
|
14
|
+
* Class Krill
|
|
15
15
|
*/
|
|
16
16
|
class Install extends core_1.Command {
|
|
17
17
|
/**
|
|
@@ -20,23 +20,17 @@ class Install extends core_1.Command {
|
|
|
20
20
|
async run() {
|
|
21
21
|
utils_1.default.titles(this.id + ' ' + this.argv);
|
|
22
22
|
const { flags } = await this.parse(Install);
|
|
23
|
-
let
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
let pve = false;
|
|
28
|
-
if (flags.pve) {
|
|
29
|
-
pve = true;
|
|
23
|
+
let unattended = flags.unattended;
|
|
24
|
+
let crypted = flags.crypted;
|
|
25
|
+
let pve = flags.pve;
|
|
26
|
+
if (pve) {
|
|
30
27
|
crypted = false;
|
|
31
28
|
}
|
|
32
|
-
let verbose =
|
|
33
|
-
if (flags.verbose) {
|
|
34
|
-
verbose = true;
|
|
35
|
-
}
|
|
29
|
+
let verbose = flags.verbose;
|
|
36
30
|
if (utils_1.default.isRoot()) {
|
|
37
31
|
if (utils_1.default.isLive()) {
|
|
38
32
|
const krill = new krill_prepare_1.default();
|
|
39
|
-
await krill.prepare(crypted, pve, verbose);
|
|
33
|
+
await krill.prepare(unattended, crypted, pve, verbose);
|
|
40
34
|
}
|
|
41
35
|
else {
|
|
42
36
|
utils_1.default.warning('You are in an installed system!');
|
|
@@ -49,11 +43,11 @@ class Install extends core_1.Command {
|
|
|
49
43
|
}
|
|
50
44
|
exports.default = Install;
|
|
51
45
|
Install.flags = {
|
|
46
|
+
unattended: core_1.Flags.boolean({ char: 'u', description: 'unattended CLI installation' }),
|
|
52
47
|
crypted: core_1.Flags.boolean({ char: 'k', description: 'crypted CLI installation' }),
|
|
53
48
|
pve: core_1.Flags.boolean({ char: 'p', description: 'Proxmox VE install' }),
|
|
54
49
|
help: core_1.Flags.help({ char: 'h' }),
|
|
55
50
|
verbose: core_1.Flags.boolean({ char: 'v', description: 'verbose' })
|
|
56
51
|
};
|
|
57
|
-
Install.aliases = [`krill`];
|
|
58
52
|
Install.description = 'command-line system installer - the egg became a penguin!';
|
|
59
53
|
Install.examples = ['$ eggs install\nInstall the system using krill installer\n'];
|
package/lib/commands/produce.js
CHANGED
|
@@ -66,9 +66,9 @@ class Produce extends core_1.Command {
|
|
|
66
66
|
compression = compressors.fast();
|
|
67
67
|
}
|
|
68
68
|
const release = flags.release;
|
|
69
|
-
if (release) {
|
|
70
|
-
|
|
71
|
-
}
|
|
69
|
+
// if (release) {
|
|
70
|
+
// compression = compressors.max()
|
|
71
|
+
// }
|
|
72
72
|
const backup = flags.backup;
|
|
73
73
|
const clone = flags.clone;
|
|
74
74
|
const verbose = flags.verbose;
|
|
@@ -5,7 +5,7 @@ import { Command } from '@oclif/core';
|
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
|
-
export default class
|
|
8
|
+
export default class Status extends Command {
|
|
9
9
|
static description: string;
|
|
10
10
|
static flags: {
|
|
11
11
|
verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -9,12 +9,12 @@ const information_1 = tslib_1.__importDefault(require("../components/elements/in
|
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
11
11
|
*/
|
|
12
|
-
class
|
|
12
|
+
class Status extends core_1.Command {
|
|
13
13
|
/**
|
|
14
14
|
*
|
|
15
15
|
*/
|
|
16
16
|
async run() {
|
|
17
|
-
const { flags } = await this.parse(
|
|
17
|
+
const { flags } = await this.parse(Status);
|
|
18
18
|
let verbose = false;
|
|
19
19
|
if (flags.verbose) {
|
|
20
20
|
verbose = true;
|
|
@@ -22,9 +22,9 @@ class Info extends core_1.Command {
|
|
|
22
22
|
await (0, information_1.default)(verbose);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
exports.default =
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
exports.default = Status;
|
|
26
|
+
Status.description = 'informations about eggs status';
|
|
27
|
+
Status.flags = {
|
|
28
28
|
verbose: core_1.Flags.boolean({ char: 'v' }),
|
|
29
29
|
help: core_1.Flags.help({ char: 'h' })
|
|
30
30
|
};
|
|
@@ -6,6 +6,11 @@ declare type SummaryProps = {
|
|
|
6
6
|
keyboardModel: string;
|
|
7
7
|
keyboardLayout: string;
|
|
8
8
|
installationDevice: string;
|
|
9
|
+
name: string;
|
|
10
|
+
password: string;
|
|
11
|
+
rootPassword: string;
|
|
12
|
+
hostname: string;
|
|
13
|
+
message: string;
|
|
9
14
|
};
|
|
10
|
-
export default function Summary({ region, zone, language, keyboardModel, keyboardLayout, installationDevice }: SummaryProps): JSX.Element;
|
|
15
|
+
export default function Summary({ name, password, rootPassword, hostname, region, zone, language, keyboardModel, keyboardLayout, installationDevice, message }: SummaryProps): JSX.Element;
|
|
11
16
|
export {};
|
|
@@ -10,7 +10,7 @@ const title_1 = tslib_1.__importDefault(require("./elements/title"));
|
|
|
10
10
|
const steps_1 = tslib_1.__importDefault(require("./elements/steps"));
|
|
11
11
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
12
12
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
13
|
-
function Summary({ region, zone, language, keyboardModel, keyboardLayout, installationDevice }) {
|
|
13
|
+
function Summary({ name, password, rootPassword, hostname, region, zone, language, keyboardModel, keyboardLayout, installationDevice, message }) {
|
|
14
14
|
let productName = 'unknown';
|
|
15
15
|
let version = 'x.x.x';
|
|
16
16
|
let configRoot = '/etc/penguins-eggs.d/krill/';
|
|
@@ -34,6 +34,22 @@ function Summary({ region, zone, language, keyboardModel, keyboardLayout, instal
|
|
|
34
34
|
react_1.default.createElement(ink_1.Box, { flexDirection: "row" },
|
|
35
35
|
react_1.default.createElement(steps_1.default, { step: 7 }),
|
|
36
36
|
react_1.default.createElement(ink_1.Box, { flexDirection: "column" },
|
|
37
|
+
react_1.default.createElement(ink_1.Box, null,
|
|
38
|
+
react_1.default.createElement(ink_1.Text, null, "Installing "),
|
|
39
|
+
react_1.default.createElement(ink_1.Text, { color: "green" }, productName)),
|
|
40
|
+
react_1.default.createElement(ink_1.Box, null,
|
|
41
|
+
react_1.default.createElement(ink_1.Text, null, "User "),
|
|
42
|
+
react_1.default.createElement(ink_1.Text, { color: "green" }, name),
|
|
43
|
+
react_1.default.createElement(ink_1.Text, null, "/"),
|
|
44
|
+
react_1.default.createElement(ink_1.Text, { color: "green" },
|
|
45
|
+
password,
|
|
46
|
+
" "),
|
|
47
|
+
react_1.default.createElement(ink_1.Text, null, "root pwd "),
|
|
48
|
+
react_1.default.createElement(ink_1.Text, { color: "green" },
|
|
49
|
+
rootPassword,
|
|
50
|
+
" "),
|
|
51
|
+
react_1.default.createElement(ink_1.Text, null, "hostname "),
|
|
52
|
+
react_1.default.createElement(ink_1.Text, { color: "green" }, hostname)),
|
|
37
53
|
react_1.default.createElement(ink_1.Box, null,
|
|
38
54
|
react_1.default.createElement(ink_1.Text, null, "Set timezone to "),
|
|
39
55
|
react_1.default.createElement(ink_1.Text, { color: "green" },
|
|
@@ -44,18 +60,19 @@ function Summary({ region, zone, language, keyboardModel, keyboardLayout, instal
|
|
|
44
60
|
react_1.default.createElement(ink_1.Text, null, "The system language will be set to "),
|
|
45
61
|
react_1.default.createElement(ink_1.Text, { color: "green" }, language)),
|
|
46
62
|
react_1.default.createElement(ink_1.Box, null,
|
|
47
|
-
react_1.default.createElement(ink_1.Text, null, "
|
|
63
|
+
react_1.default.createElement(ink_1.Text, null, "Numbers and date locale will be set to "),
|
|
48
64
|
react_1.default.createElement(ink_1.Text, { color: "green" }, language)),
|
|
49
65
|
react_1.default.createElement(ink_1.Box, null,
|
|
50
66
|
react_1.default.createElement(ink_1.Text, null, "Set keyboard model to "),
|
|
51
|
-
react_1.default.createElement(ink_1.Text, { color: "green" },
|
|
52
|
-
|
|
53
|
-
|
|
67
|
+
react_1.default.createElement(ink_1.Text, { color: "green" },
|
|
68
|
+
keyboardModel,
|
|
69
|
+
" "),
|
|
70
|
+
react_1.default.createElement(ink_1.Text, null, "layout "),
|
|
54
71
|
react_1.default.createElement(ink_1.Text, { color: "green" }, keyboardLayout)),
|
|
55
72
|
react_1.default.createElement(ink_1.Box, null,
|
|
56
73
|
react_1.default.createElement(ink_1.Text, { bold: true }, "Erase disk "),
|
|
57
|
-
react_1.default.createElement(ink_1.Text, { color: "green" }, installationDevice),
|
|
58
|
-
|
|
59
|
-
react_1.default.createElement(ink_1.Text, { color: "
|
|
74
|
+
react_1.default.createElement(ink_1.Text, { color: "green" }, installationDevice)),
|
|
75
|
+
react_1.default.createElement(ink_1.Box, null,
|
|
76
|
+
react_1.default.createElement(ink_1.Text, { color: "red" }, message))))))));
|
|
60
77
|
}
|
|
61
78
|
exports.default = Summary;
|
package/lib/components/users.js
CHANGED
|
@@ -6,12 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
8
8
|
const ink_1 = require("ink");
|
|
9
|
-
// import Spinner from 'ink-spinner';
|
|
10
9
|
const title_1 = tslib_1.__importDefault(require("./elements/title"));
|
|
11
10
|
const steps_1 = tslib_1.__importDefault(require("./elements/steps"));
|
|
12
11
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
13
12
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
14
|
-
//create your forceUpdate hook
|
|
13
|
+
// create your forceUpdate hook
|
|
15
14
|
function useForceUpdate() {
|
|
16
15
|
const [value, setValue] = (0, react_1.useState)(0); // integer state
|
|
17
16
|
return () => setValue((value) => value + 1); // update the state to force render
|
|
@@ -38,9 +37,9 @@ function Users({ name, fullname, password, rootPassword, hostname, autologin, sa
|
|
|
38
37
|
* step width=15
|
|
39
38
|
* finestra with=59
|
|
40
39
|
*/
|
|
41
|
-
let charAutologin = " ";
|
|
40
|
+
let charAutologin = "[x] ";
|
|
42
41
|
if (autologin) {
|
|
43
|
-
charAutologin = "
|
|
42
|
+
charAutologin = "[ ]";
|
|
44
43
|
}
|
|
45
44
|
if (sameUserPassword) {
|
|
46
45
|
rootPassword = password;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface IEggsConfig {
|
|
2
2
|
version: string;
|
|
3
3
|
snapshot_dir: string;
|
|
4
4
|
snapshot_basename: string;
|
|
@@ -15,11 +15,9 @@ export interface IConfig {
|
|
|
15
15
|
compression: string;
|
|
16
16
|
ssh_pass: boolean;
|
|
17
17
|
timezone: string;
|
|
18
|
-
locales: string[];
|
|
19
18
|
locales_default: string;
|
|
19
|
+
locales: string[];
|
|
20
20
|
pmount_fixed: boolean;
|
|
21
|
-
netconfig_opt: string;
|
|
22
|
-
ifnames_opt: string;
|
|
23
21
|
machine_id: string;
|
|
24
22
|
vmlinuz: string;
|
|
25
23
|
initrd_img: string;
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface IKrillConfig {
|
|
2
|
+
language: string;
|
|
3
|
+
region: string;
|
|
4
|
+
zone: string;
|
|
5
|
+
keyboardModel: string;
|
|
6
|
+
keyboardLayout: string;
|
|
7
|
+
keyboardVariant: string;
|
|
8
|
+
keyboardOption: string;
|
|
9
|
+
installationDevice: string;
|
|
10
|
+
installationMode: string;
|
|
11
|
+
filesystemType: string;
|
|
12
|
+
userSwapChoice: string;
|
|
13
|
+
name: string;
|
|
14
|
+
fullname: string;
|
|
15
|
+
password: string;
|
|
16
|
+
rootPassword: string;
|
|
17
|
+
autologin: boolean;
|
|
18
|
+
hostname: string;
|
|
19
|
+
iface: string;
|
|
20
|
+
addressType: string;
|
|
21
|
+
address: string;
|
|
22
|
+
netmask: string;
|
|
23
|
+
gateway: string;
|
|
24
|
+
domain: string;
|
|
25
|
+
dns: string;
|
|
26
|
+
}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* packages
|
|
2
|
+
* calamares module packages
|
|
3
3
|
*/
|
|
4
|
-
export interface
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
description: string;
|
|
10
|
-
binaryDependencies: {
|
|
11
|
-
depends: string[];
|
|
4
|
+
export interface IPackages {
|
|
5
|
+
backend: string;
|
|
6
|
+
operations: {
|
|
7
|
+
remove: string[];
|
|
8
|
+
try_install: string[];
|
|
12
9
|
};
|
|
13
10
|
}
|
|
@@ -9,8 +9,8 @@ export { IInitrd } from './i-initrd';
|
|
|
9
9
|
export { IWorkDir } from './i-workdir';
|
|
10
10
|
export { IInstall } from './i-install';
|
|
11
11
|
export { IExec } from './i-exec';
|
|
12
|
-
export { IConfig } from './i-config';
|
|
13
12
|
export { IInstaller } from './i-installer';
|
|
13
|
+
export { IEggsConfig } from './i-eggs-config';
|
|
14
14
|
export { IBranding } from './i-branding';
|
|
15
15
|
export { ISettings } from './i-settings';
|
|
16
16
|
export { IPartitions } from './i-partitions';
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* mail: piero.proietti@gmail.com
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
|
+
import { IKrillConfig } from '../interfaces/i-krill-config';
|
|
8
9
|
import Locales from '../classes/locales';
|
|
9
10
|
import Keyboards from '../classes/keyboards';
|
|
10
11
|
import { INet } from '../interfaces';
|
|
@@ -13,12 +14,13 @@ import { IWelcome, ILocation, IKeyboard, IPartitions, IUsers } from '../interfac
|
|
|
13
14
|
*
|
|
14
15
|
*/
|
|
15
16
|
export default class Krill {
|
|
17
|
+
krillConfig: IKrillConfig;
|
|
16
18
|
locales: Locales;
|
|
17
19
|
keyboards: Keyboards;
|
|
18
20
|
/**
|
|
19
21
|
* @param cryped
|
|
20
22
|
*/
|
|
21
|
-
prepare(cryped?: boolean, pve?: boolean, verbose?: boolean): Promise<void>;
|
|
23
|
+
prepare(unattended?: boolean, cryped?: boolean, pve?: boolean, verbose?: boolean): Promise<void>;
|
|
22
24
|
/**
|
|
23
25
|
* WELCOME
|
|
24
26
|
*/
|
|
@@ -46,11 +48,11 @@ export default class Krill {
|
|
|
46
48
|
/**
|
|
47
49
|
* SUMMARY
|
|
48
50
|
*/
|
|
49
|
-
summary(location: ILocation, keyboard: IKeyboard, partitions: IPartitions): Promise<void>;
|
|
51
|
+
summary(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers, unattended?: boolean): Promise<void>;
|
|
50
52
|
/**
|
|
51
53
|
* INSTALL
|
|
52
54
|
*/
|
|
53
|
-
install(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers, network: INet, verbose?: boolean): Promise<void>;
|
|
55
|
+
install(location: ILocation, keyboard: IKeyboard, partitions: IPartitions, users: IUsers, network: INet, unattended?: boolean, verbose?: boolean): Promise<void>;
|
|
54
56
|
/**
|
|
55
57
|
* return true if pv exist
|
|
56
58
|
*/
|