@start9labs/start-sdk 0.4.0-beta.62 → 0.4.0-beta.65
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/CHANGELOG.md +20 -0
- package/base/lib/actions/input/inputSpecConstants.d.ts +10 -0
- package/base/lib/actions/input/inputSpecConstants.js +13 -0
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/util/asError.js +1 -1
- package/base/lib/util/asError.js.map +1 -1
- package/base/lib/util/index.d.ts +1 -0
- package/base/lib/util/index.js +3 -1
- package/base/lib/util/index.js.map +1 -1
- package/base/lib/util/logErrorOnce.d.ts +1 -0
- package/base/lib/util/logErrorOnce.js +13 -0
- package/base/lib/util/logErrorOnce.js.map +1 -0
- package/package/lib/StartSdk.d.ts +33 -27
- package/package/lib/StartSdk.js +43 -35
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +64 -0
- package/package/lib/backup/Backups.js +257 -7
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/index.d.ts +1 -1
- package/package/lib/index.js +2 -1
- package/package/lib/index.js.map +1 -1
- package/package/lib/mainFn/CommandController.js +2 -1
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +11 -3
- package/package/lib/mainFn/Daemon.js +64 -33
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +2 -0
- package/package/lib/mainFn/Daemons.js +11 -0
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.d.ts +5 -3
- package/package/lib/mainFn/HealthDaemon.js +38 -31
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +154 -0
- package/package/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0-beta.65 (2026-03-23)
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `Backups.withPgDump()`: dump-based PostgreSQL backup using `pg_dump`/`pg_restore`, replacing raw volume rsync of PG data directories
|
|
8
|
+
- `Backups.withMysqlDump()`: dump-based MySQL/MariaDB backup using `mysqldump`/`mysql`
|
|
9
|
+
- Password configs accept `string | (() => string | Promise<string>)` for deferred resolution during restore
|
|
10
|
+
|
|
11
|
+
## 0.4.0-beta.63 — StartOS v0.4.0-alpha.22 (2026-03-22)
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Fixed `createTask` failing when input values are undefined
|
|
16
|
+
- Fixed daemon lifecycle cleanup and error logging improvements
|
|
17
|
+
- Replaced fire-and-forget restart loop in `Daemon` with tracked `AbortController`
|
|
18
|
+
- Fixed graceful shutdown for subcontainer daemons
|
|
19
|
+
- Fixed rsync progress regex never matching, spamming logs during backup
|
|
20
|
+
- Fixed rsync backup bugs and optimized flags for encrypted CIFS targets
|
|
21
|
+
- Fixed types in `inputSpecConstants`, `StartSdk`, and exports
|
|
22
|
+
|
|
3
23
|
## 0.4.0-beta.62 (2026-03-19)
|
|
4
24
|
|
|
5
25
|
### Fixed
|
|
@@ -2252,3 +2252,13 @@ export type SmtpSelection = {
|
|
|
2252
2252
|
* Use this instead of `smtpInputSpec.validator` to avoid cross-zod-instance issues.
|
|
2253
2253
|
*/
|
|
2254
2254
|
export declare const smtpShape: z.ZodType<SmtpSelection>;
|
|
2255
|
+
/**
|
|
2256
|
+
* Convert a stored SmtpSelection to a value suitable for prefilling smtpInputSpec.
|
|
2257
|
+
*
|
|
2258
|
+
* The stored type (SmtpSelection from smtpShape) uses flat unions for provider/security
|
|
2259
|
+
* selection, while the input spec (smtpInputSpec) uses distributed discriminated unions
|
|
2260
|
+
* (UnionRes). These are structurally incompatible in TypeScript's type system, even
|
|
2261
|
+
* though the runtime values are identical. This function bridges the two types so that
|
|
2262
|
+
* service code doesn't need `as any`.
|
|
2263
|
+
*/
|
|
2264
|
+
export declare function smtpPrefill(smtp: SmtpSelection | null | undefined): any;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.smtpShape = exports.smtpInputSpec = exports.systemSmtpSpec = exports.smtpProviderVariants = exports.customSmtp = void 0;
|
|
4
|
+
exports.smtpPrefill = smtpPrefill;
|
|
4
5
|
const util_1 = require("../../util");
|
|
5
6
|
const inputSpec_1 = require("./builder/inputSpec");
|
|
6
7
|
const value_1 = require("./builder/value");
|
|
@@ -231,4 +232,16 @@ exports.smtpShape = zod_1.z
|
|
|
231
232
|
}),
|
|
232
233
|
])
|
|
233
234
|
.catch({ selection: 'disabled', value: {} });
|
|
235
|
+
/**
|
|
236
|
+
* Convert a stored SmtpSelection to a value suitable for prefilling smtpInputSpec.
|
|
237
|
+
*
|
|
238
|
+
* The stored type (SmtpSelection from smtpShape) uses flat unions for provider/security
|
|
239
|
+
* selection, while the input spec (smtpInputSpec) uses distributed discriminated unions
|
|
240
|
+
* (UnionRes). These are structurally incompatible in TypeScript's type system, even
|
|
241
|
+
* though the runtime values are identical. This function bridges the two types so that
|
|
242
|
+
* service code doesn't need `as any`.
|
|
243
|
+
*/
|
|
244
|
+
function smtpPrefill(smtp) {
|
|
245
|
+
return smtp || undefined;
|
|
246
|
+
}
|
|
234
247
|
//# sourceMappingURL=inputSpecConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputSpecConstants.js","sourceRoot":"","sources":["../../../../../base/lib/actions/input/inputSpecConstants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"inputSpecConstants.js","sourceRoot":"","sources":["../../../../../base/lib/actions/input/inputSpecConstants.ts"],"names":[],"mappings":"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"}
|
package/base/lib/util/asError.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asError.js","sourceRoot":"","sources":["../../../../base/lib/util/asError.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACI,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE;IACpC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"asError.js","sourceRoot":"","sources":["../../../../base/lib/util/asError.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACI,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,EAAE;IACpC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC1C,CAAC,CAAA;AARY,QAAA,OAAO,WAQnB"}
|
package/base/lib/util/index.d.ts
CHANGED
package/base/lib/util/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.stringFromStdErrOut = exports.regexes = exports.AbortedError = exports.deepEqual = exports.partialDiff = exports.deepMerge = exports.nullIfEmpty = exports.splitCommand = exports.inMs = exports.Graph = exports.GetSystemSmtp = exports.GetStatus = exports.GetSslCertificate = exports.getServiceManifest = exports.GetServiceManifest = exports.GetOutboundGateway = exports.GetHostInfo = exports.GetContainerIp = exports.Watchable = exports.Patterns = exports.asError = exports.once = exports.getServiceInterfaces = exports.filterNonLocal = exports.filledAddress = exports.getServiceInterface = exports.GetServiceInterface = exports.getDefaultString = exports.addressHostToUrl = void 0;
|
|
39
|
+
exports.logErrorOnce = exports.stringFromStdErrOut = exports.regexes = exports.AbortedError = exports.deepEqual = exports.partialDiff = exports.deepMerge = exports.nullIfEmpty = exports.splitCommand = exports.inMs = exports.Graph = exports.GetSystemSmtp = exports.GetStatus = exports.GetSslCertificate = exports.getServiceManifest = exports.GetServiceManifest = exports.GetOutboundGateway = exports.GetHostInfo = exports.GetContainerIp = exports.Watchable = exports.Patterns = exports.asError = exports.once = exports.getServiceInterfaces = exports.filterNonLocal = exports.filledAddress = exports.getServiceInterface = exports.GetServiceInterface = exports.getDefaultString = exports.addressHostToUrl = void 0;
|
|
40
40
|
/// Currently being used
|
|
41
41
|
var getServiceInterface_1 = require("./getServiceInterface");
|
|
42
42
|
Object.defineProperty(exports, "addressHostToUrl", { enumerable: true, get: function () { return getServiceInterface_1.addressHostToUrl; } });
|
|
@@ -92,4 +92,6 @@ Object.defineProperty(exports, "AbortedError", { enumerable: true, get: function
|
|
|
92
92
|
exports.regexes = __importStar(require("./regexes"));
|
|
93
93
|
var stringFromStdErrOut_1 = require("./stringFromStdErrOut");
|
|
94
94
|
Object.defineProperty(exports, "stringFromStdErrOut", { enumerable: true, get: function () { return stringFromStdErrOut_1.stringFromStdErrOut; } });
|
|
95
|
+
var logErrorOnce_1 = require("./logErrorOnce");
|
|
96
|
+
Object.defineProperty(exports, "logErrorOnce", { enumerable: true, get: function () { return logErrorOnce_1.logErrorOnce; } });
|
|
95
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,uCAAoB;AAEpB,sDAAsD;AACtD,6DAK8B;AAJ5B,0HAAA,mBAAmB,OAAA;AACnB,0HAAA,mBAAmB,OAAA;AACnB,oHAAA,aAAa,OAAA;AACb,qHAAA,cAAc,OAAA;AAEhB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAsC;AACtC,gDAA6B;AAC7B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,2DAA6E;AAApE,wHAAA,kBAAkB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAC/C,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,iCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,yCAAoD;AAA3C,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,qDAAoC;AACpC,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAAwB;AACxB,6DAAwD;AAA/C,uHAAA,gBAAgB,OAAA;AACzB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,uCAAoB;AAEpB,sDAAsD;AACtD,6DAK8B;AAJ5B,0HAAA,mBAAmB,OAAA;AACnB,0HAAA,mBAAmB,OAAA;AACnB,oHAAA,aAAa,OAAA;AACb,qHAAA,cAAc,OAAA;AAEhB,+DAA6D;AAApD,4HAAA,oBAAoB,OAAA;AAC7B,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,uDAAsC;AACtC,gDAA6B;AAC7B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,mDAAiD;AAAxC,gHAAA,cAAc,OAAA;AACvB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA;AAC3B,2DAA6E;AAApE,wHAAA,kBAAkB,OAAA;AAAE,wHAAA,kBAAkB,OAAA;AAC/C,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,iCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,yCAAoD;AAA3C,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AACrB,qDAAoC;AACpC,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,+CAA6C;AAApC,4GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function logErrorOnce(err: unknown): void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logErrorOnce = logErrorOnce;
|
|
4
|
+
const loggedErrors = new WeakSet();
|
|
5
|
+
function logErrorOnce(err) {
|
|
6
|
+
if (typeof err === 'object' && err !== null) {
|
|
7
|
+
if (loggedErrors.has(err))
|
|
8
|
+
return;
|
|
9
|
+
loggedErrors.add(err);
|
|
10
|
+
}
|
|
11
|
+
console.error(err);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=logErrorOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logErrorOnce.js","sourceRoot":"","sources":["../../../../base/lib/util/logErrorOnce.ts"],"names":[],"mappings":";;AAEA,oCAMC;AARD,MAAM,YAAY,GAAG,IAAI,OAAO,EAAU,CAAA;AAE1C,SAAgB,YAAY,CAAC,GAAY;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAM;QACjC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpB,CAAC"}
|
|
@@ -1,37 +1,31 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as actions from '../../base/lib/actions';
|
|
2
2
|
import { InputSpec } from '../../base/lib/actions/input/builder/inputSpec';
|
|
3
|
-
import { Variants } from '../../base/lib/actions/input/builder/variants';
|
|
4
|
-
import { Action, ActionInfo, Actions } from '../../base/lib/actions/setupActions';
|
|
5
|
-
import { ServiceInterfaceType, Effects } from '../../base/lib/types';
|
|
6
|
-
import * as patterns from '../../base/lib/util/patterns';
|
|
7
|
-
import { Backups } from './backup/Backups';
|
|
8
|
-
import { Daemon, Daemons } from './mainFn/Daemons';
|
|
9
|
-
import { checkPortListening } from './health/checkFns/checkPortListening';
|
|
10
3
|
import { List } from '../../base/lib/actions/input/builder/list';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
4
|
+
import { Value } from '../../base/lib/actions/input/builder/value';
|
|
5
|
+
import { Variants } from '../../base/lib/actions/input/builder/variants';
|
|
6
|
+
import { Action, ActionInfo, Actions, MaybeFn, Run } from '../../base/lib/actions/setupActions';
|
|
7
|
+
import { CheckDependencies } from '../../base/lib/dependencies/dependencies';
|
|
8
|
+
import { setupInit, setupOnInit, setupOnUninit, setupUninit } from '../../base/lib/inits';
|
|
13
9
|
import { MultiHost, Scheme } from '../../base/lib/interfaces/Host';
|
|
14
10
|
import { ServiceInterfaceBuilder } from '../../base/lib/interfaces/ServiceInterfaceBuilder';
|
|
15
|
-
import { GetOutboundGateway, GetSystemSmtp } from './util';
|
|
16
|
-
import { nullIfEmpty } from './util';
|
|
17
|
-
import { getServiceInterface, getServiceInterfaces } from './util';
|
|
18
|
-
import { CommandOptions, SubContainer } from './util/SubContainer';
|
|
19
|
-
import { Mounts } from './mainFn/Mounts';
|
|
20
11
|
import * as T from '../../base/lib/types';
|
|
21
|
-
import {
|
|
22
|
-
import { GetSslCertificate, getServiceManifest } from './util';
|
|
23
|
-
import { getDataVersion, setDataVersion } from './version';
|
|
24
|
-
import { MaybeFn } from '../../base/lib/actions/setupActions';
|
|
25
|
-
import { Run } from '../../base/lib/actions/setupActions';
|
|
26
|
-
import * as actions from '../../base/lib/actions';
|
|
27
|
-
import { setupInit, setupUninit, setupOnInit, setupOnUninit } from '../../base/lib/inits';
|
|
12
|
+
import { Effects, ServiceInterfaceType } from '../../base/lib/types';
|
|
28
13
|
import { GetContainerIp } from '../../base/lib/util/GetContainerIp';
|
|
29
14
|
import { GetStatus } from '../../base/lib/util/GetStatus';
|
|
30
15
|
import { getOwnServiceInterface } from '../../base/lib/util/getServiceInterface';
|
|
31
16
|
import { getOwnServiceInterfaces } from '../../base/lib/util/getServiceInterfaces';
|
|
32
|
-
import
|
|
17
|
+
import * as patterns from '../../base/lib/util/patterns';
|
|
18
|
+
import { Backups } from './backup/Backups';
|
|
19
|
+
import { SetupBackupsParams } from './backup/setupBackups';
|
|
20
|
+
import { checkPortListening } from './health/checkFns/checkPortListening';
|
|
21
|
+
import { Daemon, Daemons } from './mainFn/Daemons';
|
|
22
|
+
import { Mounts } from './mainFn/Mounts';
|
|
23
|
+
import { changeOnFirstSuccess, cooldownTrigger } from './trigger';
|
|
24
|
+
import { GetOutboundGateway, GetSslCertificate, GetSystemSmtp, getServiceInterface, getServiceInterfaces, getServiceManifest, nullIfEmpty } from './util';
|
|
25
|
+
import { CommandOptions, SubContainer } from './util/SubContainer';
|
|
26
|
+
import { getDataVersion, setDataVersion } from './version';
|
|
33
27
|
/** The minimum StartOS version required by this SDK release */
|
|
34
|
-
export declare const OSVersion: "0.4.0-alpha.
|
|
28
|
+
export declare const OSVersion: "0.4.0-alpha.22";
|
|
35
29
|
type AnyNeverCond<T extends any[], Then, Else> = T extends [] ? Else : T extends [never, ...Array<any>] ? Then : T extends [any, ...infer U] ? AnyNeverCond<U, Then, Else> : never;
|
|
36
30
|
/**
|
|
37
31
|
* The top-level SDK facade for building StartOS service packages.
|
|
@@ -2769,6 +2763,18 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
2769
2763
|
* @param options - Partial sync options to override defaults
|
|
2770
2764
|
*/
|
|
2771
2765
|
withOptions: (options?: Partial<T.SyncOptions>) => Backups<Manifest>;
|
|
2766
|
+
/**
|
|
2767
|
+
* Create a Backups configuration that uses pg_dump/pg_restore instead of
|
|
2768
|
+
* rsyncing the raw PostgreSQL data directory. Chain `.addVolume()` to include
|
|
2769
|
+
* additional volumes in the backup.
|
|
2770
|
+
*/
|
|
2771
|
+
withPgDump: (config: import("./backup/Backups").PgDumpConfig<Manifest>) => Backups<Manifest>;
|
|
2772
|
+
/**
|
|
2773
|
+
* Create a Backups configuration that uses mysqldump/mysql instead of
|
|
2774
|
+
* rsyncing the raw MySQL/MariaDB data directory. Chain `.addVolume()` to
|
|
2775
|
+
* include additional volumes in the backup.
|
|
2776
|
+
*/
|
|
2777
|
+
withMysqlDump: (config: import("./backup/Backups").MysqlDumpConfig<Manifest>) => Backups<Manifest>;
|
|
2772
2778
|
};
|
|
2773
2779
|
InputSpec: {
|
|
2774
2780
|
/**
|
|
@@ -2805,7 +2811,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
2805
2811
|
* Create a single Daemon that wraps a long-running process with automatic restart logic.
|
|
2806
2812
|
* Returns a curried function: call with `(effects, subcontainer, exec)`.
|
|
2807
2813
|
*/
|
|
2808
|
-
readonly of: <C extends SubContainer<Manifest, Effects> | null>(effects: T.Effects, subcontainer: C, exec: import("./mainFn/Daemons").DaemonCommandType<Manifest, C>) => Daemon<Manifest, SubContainer<Manifest, Effects> | null>;
|
|
2814
|
+
readonly of: <C extends SubContainer<Manifest, T.Effects> | null>(effects: T.Effects, subcontainer: C, exec: import("./mainFn/Daemons").DaemonCommandType<Manifest, C>) => Daemon<Manifest, SubContainer<Manifest, T.Effects> | null>;
|
|
2809
2815
|
};
|
|
2810
2816
|
Daemons: {
|
|
2811
2817
|
/**
|
|
@@ -2826,7 +2832,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
2826
2832
|
of(effects: Effects, image: {
|
|
2827
2833
|
imageId: T.ImageId & keyof Manifest["images"];
|
|
2828
2834
|
sharedRun?: boolean;
|
|
2829
|
-
}, mounts: Mounts<Manifest> | null, name: string): Promise<import("./util/SubContainer").SubContainerRc<Manifest, Effects>>;
|
|
2835
|
+
}, mounts: Mounts<Manifest> | null, name: string): Promise<import("./util/SubContainer").SubContainerRc<Manifest, T.Effects>>;
|
|
2830
2836
|
/**
|
|
2831
2837
|
* @description Run a function with a temporary SubContainer
|
|
2832
2838
|
* @param effects
|
|
@@ -2900,7 +2906,7 @@ export declare class StartSdk<Manifest extends T.SDKManifest> {
|
|
|
2900
2906
|
/** The bound service manifest */
|
|
2901
2907
|
manifest: Manifest;
|
|
2902
2908
|
/** Volume path helpers derived from the manifest volume definitions */
|
|
2903
|
-
volumes: Volumes<Manifest>;
|
|
2909
|
+
volumes: import("./util").Volumes<Manifest>;
|
|
2904
2910
|
};
|
|
2905
2911
|
}
|
|
2906
2912
|
/**
|
package/package/lib/StartSdk.js
CHANGED
|
@@ -35,48 +35,44 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.StartSdk = exports.OSVersion = void 0;
|
|
37
37
|
exports.runCommand = runCommand;
|
|
38
|
-
const
|
|
38
|
+
const fs = __importStar(require("node:fs/promises"));
|
|
39
|
+
const actions = __importStar(require("../../base/lib/actions"));
|
|
39
40
|
const inputSpec_1 = require("../../base/lib/actions/input/builder/inputSpec");
|
|
41
|
+
const list_1 = require("../../base/lib/actions/input/builder/list");
|
|
42
|
+
const value_1 = require("../../base/lib/actions/input/builder/value");
|
|
40
43
|
const variants_1 = require("../../base/lib/actions/input/builder/variants");
|
|
44
|
+
const inputSpecConstants_1 = require("../../base/lib/actions/input/inputSpecConstants");
|
|
41
45
|
const setupActions_1 = require("../../base/lib/actions/setupActions");
|
|
46
|
+
const dependencies_1 = require("../../base/lib/dependencies/dependencies");
|
|
47
|
+
const setupDependencies_1 = require("../../base/lib/dependencies/setupDependencies");
|
|
48
|
+
const exver_1 = require("../../base/lib/exver");
|
|
49
|
+
const inits_1 = require("../../base/lib/inits");
|
|
50
|
+
const Host_1 = require("../../base/lib/interfaces/Host");
|
|
51
|
+
const ServiceInterfaceBuilder_1 = require("../../base/lib/interfaces/ServiceInterfaceBuilder");
|
|
52
|
+
const setupExportedUrls_1 = require("../../base/lib/interfaces/setupExportedUrls");
|
|
53
|
+
const setupInterfaces_1 = require("../../base/lib/interfaces/setupInterfaces");
|
|
54
|
+
const T = __importStar(require("../../base/lib/types"));
|
|
55
|
+
const GetContainerIp_1 = require("../../base/lib/util/GetContainerIp");
|
|
56
|
+
const GetStatus_1 = require("../../base/lib/util/GetStatus");
|
|
57
|
+
const getServiceInterface_1 = require("../../base/lib/util/getServiceInterface");
|
|
58
|
+
const getServiceInterfaces_1 = require("../../base/lib/util/getServiceInterfaces");
|
|
42
59
|
const patterns = __importStar(require("../../base/lib/util/patterns"));
|
|
43
60
|
const Backups_1 = require("./backup/Backups");
|
|
44
|
-
const inputSpecConstants_1 = require("../../base/lib/actions/input/inputSpecConstants");
|
|
45
|
-
const Daemons_1 = require("./mainFn/Daemons");
|
|
46
|
-
const checkPortListening_1 = require("./health/checkFns/checkPortListening");
|
|
47
|
-
const checkFns_1 = require("./health/checkFns");
|
|
48
|
-
const list_1 = require("../../base/lib/actions/input/builder/list");
|
|
49
61
|
const setupBackups_1 = require("./backup/setupBackups");
|
|
62
|
+
const checkFns_1 = require("./health/checkFns");
|
|
63
|
+
const checkPortListening_1 = require("./health/checkFns/checkPortListening");
|
|
50
64
|
const mainFn_1 = require("./mainFn");
|
|
51
|
-
const
|
|
65
|
+
const Daemons_1 = require("./mainFn/Daemons");
|
|
66
|
+
const Mounts_1 = require("./mainFn/Mounts");
|
|
52
67
|
const trigger_1 = require("./trigger");
|
|
53
|
-
const
|
|
54
|
-
const setupExportedUrls_1 = require("../../base/lib/interfaces/setupExportedUrls");
|
|
68
|
+
const defaultTrigger_1 = require("./trigger/defaultTrigger");
|
|
55
69
|
const successFailure_1 = require("./trigger/successFailure");
|
|
56
|
-
const Host_1 = require("../../base/lib/interfaces/Host");
|
|
57
|
-
const ServiceInterfaceBuilder_1 = require("../../base/lib/interfaces/ServiceInterfaceBuilder");
|
|
58
70
|
const util_1 = require("./util");
|
|
59
|
-
const util_2 = require("./util");
|
|
60
|
-
const util_3 = require("./util");
|
|
61
71
|
const SubContainer_1 = require("./util/SubContainer");
|
|
62
|
-
const util_4 = require("./util");
|
|
63
|
-
const Mounts_1 = require("./mainFn/Mounts");
|
|
64
|
-
const setupDependencies_1 = require("../../base/lib/dependencies/setupDependencies");
|
|
65
|
-
const T = __importStar(require("../../base/lib/types"));
|
|
66
|
-
const exver_1 = require("../../base/lib/exver");
|
|
67
|
-
const dependencies_1 = require("../../base/lib/dependencies/dependencies");
|
|
68
|
-
const util_5 = require("./util");
|
|
69
|
-
const version_1 = require("./version");
|
|
70
|
-
const actions = __importStar(require("../../base/lib/actions"));
|
|
71
|
-
const fs = __importStar(require("node:fs/promises"));
|
|
72
|
-
const inits_1 = require("../../base/lib/inits");
|
|
73
|
-
const GetContainerIp_1 = require("../../base/lib/util/GetContainerIp");
|
|
74
|
-
const GetStatus_1 = require("../../base/lib/util/GetStatus");
|
|
75
|
-
const getServiceInterface_1 = require("../../base/lib/util/getServiceInterface");
|
|
76
|
-
const getServiceInterfaces_1 = require("../../base/lib/util/getServiceInterfaces");
|
|
77
72
|
const Volume_1 = require("./util/Volume");
|
|
73
|
+
const version_1 = require("./version");
|
|
78
74
|
/** The minimum StartOS version required by this SDK release */
|
|
79
|
-
exports.OSVersion = (0, exver_1.testTypeVersion)('0.4.0-alpha.
|
|
75
|
+
exports.OSVersion = (0, exver_1.testTypeVersion)('0.4.0-alpha.22');
|
|
80
76
|
/**
|
|
81
77
|
* The top-level SDK facade for building StartOS service packages.
|
|
82
78
|
*
|
|
@@ -180,11 +176,11 @@ class StartSdk {
|
|
|
180
176
|
/** Retrieve a single service interface belonging to this package by its ID */
|
|
181
177
|
getOwn: getServiceInterface_1.getOwnServiceInterface,
|
|
182
178
|
/** Retrieve a single service interface from any package */
|
|
183
|
-
get:
|
|
179
|
+
get: util_1.getServiceInterface,
|
|
184
180
|
/** Retrieve all service interfaces belonging to this package */
|
|
185
181
|
getAllOwn: getServiceInterfaces_1.getOwnServiceInterfaces,
|
|
186
182
|
/** Retrieve all service interfaces, optionally filtering by package */
|
|
187
|
-
getAll:
|
|
183
|
+
getAll: util_1.getServiceInterfaces,
|
|
188
184
|
},
|
|
189
185
|
/**
|
|
190
186
|
* Get the container IP address with reactive subscription support.
|
|
@@ -220,7 +216,7 @@ class StartSdk {
|
|
|
220
216
|
* Return `null` if the given string is empty, otherwise return the string unchanged.
|
|
221
217
|
* Useful for converting empty user input into explicit null values.
|
|
222
218
|
*/
|
|
223
|
-
nullIfEmpty:
|
|
219
|
+
nullIfEmpty: util_1.nullIfEmpty,
|
|
224
220
|
/**
|
|
225
221
|
* Indicate that a daemon should use the container image's configured entrypoint.
|
|
226
222
|
* @param overrideCmd - Optional command arguments to append after the entrypoint
|
|
@@ -378,9 +374,9 @@ class StartSdk {
|
|
|
378
374
|
* @param hostnames - The hostnames to obtain a certificate for
|
|
379
375
|
* @param algorithm - Optional algorithm preference (e.g. Ed25519)
|
|
380
376
|
*/
|
|
381
|
-
getSslCertificate: (effects, hostnames, algorithm) => new
|
|
377
|
+
getSslCertificate: (effects, hostnames, algorithm) => new util_1.GetSslCertificate(effects, { hostnames, algorithm }),
|
|
382
378
|
/** Retrieve the manifest of any installed service package by its ID */
|
|
383
|
-
getServiceManifest:
|
|
379
|
+
getServiceManifest: util_1.getServiceManifest,
|
|
384
380
|
healthCheck: {
|
|
385
381
|
checkPortListening: checkPortListening_1.checkPortListening,
|
|
386
382
|
checkWebUrl: checkFns_1.checkWebUrl,
|
|
@@ -605,6 +601,18 @@ class StartSdk {
|
|
|
605
601
|
* @param options - Partial sync options to override defaults
|
|
606
602
|
*/
|
|
607
603
|
withOptions: (Backups_1.Backups.withOptions),
|
|
604
|
+
/**
|
|
605
|
+
* Create a Backups configuration that uses pg_dump/pg_restore instead of
|
|
606
|
+
* rsyncing the raw PostgreSQL data directory. Chain `.addVolume()` to include
|
|
607
|
+
* additional volumes in the backup.
|
|
608
|
+
*/
|
|
609
|
+
withPgDump: (Backups_1.Backups.withPgDump),
|
|
610
|
+
/**
|
|
611
|
+
* Create a Backups configuration that uses mysqldump/mysql instead of
|
|
612
|
+
* rsyncing the raw MySQL/MariaDB data directory. Chain `.addVolume()` to
|
|
613
|
+
* include additional volumes in the backup.
|
|
614
|
+
*/
|
|
615
|
+
withMysqlDump: (Backups_1.Backups.withMysqlDump),
|
|
608
616
|
},
|
|
609
617
|
InputSpec: {
|
|
610
618
|
/**
|
|
@@ -723,7 +731,7 @@ async function runCommand(effects, image, command, options, name) {
|
|
|
723
731
|
commands = commands.concat(...(command.overridCmd ?? imageMeta.cmd ?? []));
|
|
724
732
|
}
|
|
725
733
|
else
|
|
726
|
-
commands = (0,
|
|
734
|
+
commands = (0, util_1.splitCommand)(command);
|
|
727
735
|
return SubContainer_1.SubContainerOwned.withTemp(effects, image, options.mounts, name ||
|
|
728
736
|
commands
|
|
729
737
|
.map((c) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"StartSdk.js","sourceRoot":"","sources":["../../../package/lib/StartSdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
import * as T from '../../../base/lib/types';
|
|
2
2
|
import { Affine } from '../util';
|
|
3
3
|
import { InitKind, InitScript } from '../../../base/lib/inits';
|
|
4
|
+
/** A password value, or a function that returns one. Functions are resolved lazily (only during restore). */
|
|
5
|
+
export type LazyPassword = string | (() => string | Promise<string>);
|
|
6
|
+
/** Configuration for PostgreSQL dump-based backup */
|
|
7
|
+
export type PgDumpConfig<M extends T.SDKManifest> = {
|
|
8
|
+
/** Image ID of the PostgreSQL container (e.g. 'postgres') */
|
|
9
|
+
imageId: keyof M['images'] & T.ImageId;
|
|
10
|
+
/** Volume ID containing the PostgreSQL data directory */
|
|
11
|
+
dbVolume: M['volumes'][number];
|
|
12
|
+
/** Path to PGDATA within the container (e.g. '/var/lib/postgresql/data') */
|
|
13
|
+
pgdata: string;
|
|
14
|
+
/** PostgreSQL database name to dump */
|
|
15
|
+
database: string;
|
|
16
|
+
/** PostgreSQL user */
|
|
17
|
+
user: string;
|
|
18
|
+
/** PostgreSQL password (for restore). Can be a string or a function that returns one — functions are resolved lazily after volumes are restored. */
|
|
19
|
+
password: LazyPassword;
|
|
20
|
+
/** Additional initdb arguments (e.g. ['--data-checksums']) */
|
|
21
|
+
initdbArgs?: string[];
|
|
22
|
+
};
|
|
23
|
+
/** Configuration for MySQL/MariaDB dump-based backup */
|
|
24
|
+
export type MysqlDumpConfig<M extends T.SDKManifest> = {
|
|
25
|
+
/** Image ID of the MySQL/MariaDB container (e.g. 'mysql', 'mariadb') */
|
|
26
|
+
imageId: keyof M['images'] & T.ImageId;
|
|
27
|
+
/** Volume ID containing the MySQL data directory */
|
|
28
|
+
dbVolume: M['volumes'][number];
|
|
29
|
+
/** Path to MySQL data directory within the container (typically '/var/lib/mysql') */
|
|
30
|
+
datadir: string;
|
|
31
|
+
/** MySQL database name to dump */
|
|
32
|
+
database: string;
|
|
33
|
+
/** MySQL user for dump operations */
|
|
34
|
+
user: string;
|
|
35
|
+
/** MySQL password. Can be a string or a function that returns one — functions are resolved lazily after volumes are restored. */
|
|
36
|
+
password: LazyPassword;
|
|
37
|
+
/** Database engine: 'mysql' uses --initialize-insecure, 'mariadb' uses mysql_install_db */
|
|
38
|
+
engine: 'mysql' | 'mariadb';
|
|
39
|
+
/** Custom readiness check command (default: ['mysqladmin', 'ping', ...]) */
|
|
40
|
+
readyCommand?: string[];
|
|
41
|
+
};
|
|
4
42
|
/** Default rsync options used for backup and restore operations */
|
|
5
43
|
export declare const DEFAULT_OPTIONS: T.SyncOptions;
|
|
6
44
|
/** A single source-to-destination sync pair for backup and restore */
|
|
@@ -49,6 +87,32 @@ export declare class Backups<M extends T.SDKManifest> implements InitScript {
|
|
|
49
87
|
* @param options - Partial rsync options to override defaults (e.g. `{ exclude: ['cache'] }`)
|
|
50
88
|
*/
|
|
51
89
|
static withOptions<M extends T.SDKManifest = never>(options?: Partial<T.SyncOptions>): Backups<M>;
|
|
90
|
+
/**
|
|
91
|
+
* Configure PostgreSQL dump-based backup for a volume.
|
|
92
|
+
*
|
|
93
|
+
* Instead of rsyncing the raw PostgreSQL data directory (which is slow and error-prone),
|
|
94
|
+
* this uses `pg_dump` to create a logical dump before backup and `pg_restore` to rebuild
|
|
95
|
+
* the database after restore.
|
|
96
|
+
*
|
|
97
|
+
* The dump file is written directly to the backup target — no data duplication on disk.
|
|
98
|
+
*
|
|
99
|
+
* @returns A configured Backups instance with pre/post hooks. Chain `.addVolume()` or
|
|
100
|
+
* `.addSync()` to include additional volumes/paths in the backup.
|
|
101
|
+
*/
|
|
102
|
+
static withPgDump<M extends T.SDKManifest = never>(config: PgDumpConfig<M>): Backups<M>;
|
|
103
|
+
/**
|
|
104
|
+
* Configure MySQL/MariaDB dump-based backup for a volume.
|
|
105
|
+
*
|
|
106
|
+
* Instead of rsyncing the raw MySQL data directory (which is slow and error-prone),
|
|
107
|
+
* this uses `mysqldump` to create a logical dump before backup and `mysql` to restore
|
|
108
|
+
* the database after restore.
|
|
109
|
+
*
|
|
110
|
+
* The dump file is stored temporarily in `dumpVolume` during backup and cleaned up afterward.
|
|
111
|
+
*
|
|
112
|
+
* @returns A configured Backups instance with pre/post hooks. Chain `.addVolume()` or
|
|
113
|
+
* `.addSync()` to include additional volumes/paths in the backup.
|
|
114
|
+
*/
|
|
115
|
+
static withMysqlDump<M extends T.SDKManifest = never>(config: MysqlDumpConfig<M>): Backups<M>;
|
|
52
116
|
/**
|
|
53
117
|
* Override the default rsync options for both backup and restore.
|
|
54
118
|
* @param options - Partial rsync options to merge with current defaults
|