@xemahq/xema 0.18.0 → 0.18.2
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 +32 -4
- package/dist/assets/appliance-base/distribution.lock.json +418 -448
- package/dist/assets/appliance-base/images.lock.json +231 -253
- package/dist/assets/appliance-lean/distribution.lock.json +243 -302
- package/dist/assets/appliance-lean/images.lock.json +160 -182
- package/dist/assets/boot-graph.json +1 -4
- package/dist/assets/cloud/distribution.lock.json +424 -472
- package/dist/assets/cloud/images.lock.json +240 -262
- package/dist/assets/core/distribution.lock.json +174 -361
- package/dist/assets/core/images.lock.json +170 -236
- package/dist/assets/distribution-assets.manifest.json +33 -32
- package/dist/assets/minimal/distribution.lock.json +150 -286
- package/dist/assets/minimal/images.lock.json +143 -187
- package/dist/assets/oss/distribution.lock.json +418 -448
- package/dist/assets/oss/images.lock.json +232 -254
- package/dist/assets/starter/distribution.lock.json +267 -364
- package/dist/assets/starter/images.lock.json +176 -220
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/biome.d.ts +27 -0
- package/dist/commands/biome.d.ts.map +1 -1
- package/dist/commands/biome.js +8 -2
- package/dist/commands/biome.js.map +1 -1
- package/dist/commands/installation.d.ts.map +1 -1
- package/dist/commands/installation.js +112 -27
- package/dist/commands/installation.js.map +1 -1
- package/dist/commands/onboard.d.ts +3 -0
- package/dist/commands/onboard.d.ts.map +1 -0
- package/dist/commands/onboard.js +110 -0
- package/dist/commands/onboard.js.map +1 -0
- package/dist/dev/env-defaults.d.ts.map +1 -1
- package/dist/dev/env-defaults.js +0 -1
- package/dist/dev/env-defaults.js.map +1 -1
- package/dist/runtime/asset-provenance.d.ts +1 -1
- package/dist/runtime/asset-provenance.d.ts.map +1 -1
- package/dist/runtime/asset-provenance.js.map +1 -1
- package/dist/runtime/config/init-presets.d.ts.map +1 -1
- package/dist/runtime/config/init-presets.js +1 -12
- package/dist/runtime/config/init-presets.js.map +1 -1
- package/dist/runtime/config/schema.d.ts +0 -11
- package/dist/runtime/config/schema.d.ts.map +1 -1
- package/dist/runtime/config/schema.js +0 -2
- package/dist/runtime/config/schema.js.map +1 -1
- package/dist/runtime/env-seeder.d.ts.map +1 -1
- package/dist/runtime/env-seeder.js +0 -3
- package/dist/runtime/env-seeder.js.map +1 -1
- package/dist/runtime/infra/infra-catalog.d.ts.map +1 -1
- package/dist/runtime/infra/infra-catalog.js +0 -18
- package/dist/runtime/infra/infra-catalog.js.map +1 -1
- package/dist/runtime/infra/infra-environment.d.ts.map +1 -1
- package/dist/runtime/infra/infra-environment.js +0 -1
- package/dist/runtime/infra/infra-environment.js.map +1 -1
- package/dist/runtime/installation/compiler.d.ts +3 -4
- package/dist/runtime/installation/compiler.d.ts.map +1 -1
- package/dist/runtime/installation/compiler.js +10 -13
- package/dist/runtime/installation/compiler.js.map +1 -1
- package/dist/runtime/installation/contract.d.ts +4 -10
- package/dist/runtime/installation/contract.d.ts.map +1 -1
- package/dist/runtime/installation/contract.js +8 -11
- package/dist/runtime/installation/contract.js.map +1 -1
- package/dist/runtime/installation/current-launcher-renderer.d.ts.map +1 -1
- package/dist/runtime/installation/current-launcher-renderer.js +0 -5
- package/dist/runtime/installation/current-launcher-renderer.js.map +1 -1
- package/dist/runtime/installation/deployment-root.d.ts +53 -0
- package/dist/runtime/installation/deployment-root.d.ts.map +1 -0
- package/dist/runtime/installation/deployment-root.js +510 -0
- package/dist/runtime/installation/deployment-root.js.map +1 -0
- package/dist/runtime/installation/engine-verbs.d.ts +36 -0
- package/dist/runtime/installation/engine-verbs.d.ts.map +1 -0
- package/dist/runtime/installation/engine-verbs.js +164 -0
- package/dist/runtime/installation/engine-verbs.js.map +1 -0
- package/dist/runtime/installation/engine.d.ts +87 -0
- package/dist/runtime/installation/engine.d.ts.map +1 -0
- package/dist/runtime/installation/engine.js +218 -0
- package/dist/runtime/installation/engine.js.map +1 -0
- package/dist/runtime/installation/helm-release.d.ts.map +1 -1
- package/dist/runtime/installation/helm-release.js +0 -1
- package/dist/runtime/installation/helm-release.js.map +1 -1
- package/dist/runtime/installation/index.d.ts +3 -0
- package/dist/runtime/installation/index.d.ts.map +1 -1
- package/dist/runtime/installation/index.js +3 -0
- package/dist/runtime/installation/index.js.map +1 -1
- package/dist/runtime/installation/json-schema.d.ts +1 -1
- package/dist/runtime/installation/json-schema.d.ts.map +1 -1
- package/dist/runtime/installation/json-schema.js +1 -1
- package/dist/runtime/installation/json-schema.js.map +1 -1
- package/dist/runtime/installation/lifecycle.js.map +1 -1
- package/dist/runtime/installation/setup-profile.d.ts +7 -2
- package/dist/runtime/installation/setup-profile.d.ts.map +1 -1
- package/dist/runtime/installation/setup-profile.js +2 -1
- package/dist/runtime/installation/setup-profile.js.map +1 -1
- package/dist/runtime/installation/validators/operational.d.ts.map +1 -1
- package/dist/runtime/installation/validators/operational.js +0 -8
- package/dist/runtime/installation/validators/operational.js.map +1 -1
- package/dist/runtime/onboard/plan.d.ts +52 -0
- package/dist/runtime/onboard/plan.d.ts.map +1 -0
- package/dist/runtime/onboard/plan.js +210 -0
- package/dist/runtime/onboard/plan.js.map +1 -0
- package/dist/runtime/sources/kinds/git.d.ts +4 -0
- package/dist/runtime/sources/kinds/git.d.ts.map +1 -1
- package/dist/runtime/sources/kinds/git.js +19 -12
- package/dist/runtime/sources/kinds/git.js.map +1 -1
- package/examples/02-local-container-full.yaml +0 -1
- package/examples/03-byo-infra.yaml +0 -1
- package/examples/04-subset-knowledge.yaml +0 -1
- package/package.json +14 -13
- package/xema.config.example.yaml +0 -1
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import { InstallationProfile, type XemaInstallation } from './contract';
|
|
1
|
+
import { InstallationProfile, type InstallationTargetKind, type XemaInstallation } from './contract';
|
|
2
2
|
declare const SETUP_PROFILES: readonly [InstallationProfile.Developer, InstallationProfile.Starter, InstallationProfile.SingleNodeProduction];
|
|
3
3
|
export type SetupInstallationProfile = (typeof SETUP_PROFILES)[number];
|
|
4
4
|
export declare function parseSetupInstallationProfile(value: string): SetupInstallationProfile;
|
|
5
|
-
export
|
|
5
|
+
export interface SetupTargetBinding {
|
|
6
|
+
readonly kind: InstallationTargetKind;
|
|
7
|
+
readonly context?: string;
|
|
8
|
+
readonly kubeconfig?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function createInstallationProfileTemplate(profile: SetupInstallationProfile, name: string, edition?: string, target?: SetupTargetBinding): XemaInstallation;
|
|
6
11
|
export declare function setupInstallationProfiles(): readonly SetupInstallationProfile[];
|
|
7
12
|
export {};
|
|
8
13
|
//# sourceMappingURL=setup-profile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-profile.d.ts","sourceRoot":"","sources":["../../../src/runtime/installation/setup-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"setup-profile.d.ts","sourceRoot":"","sources":["../../../src/runtime/installation/setup-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,KAAK,sBAAsB,EAI3B,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,cAAc,iHAIV,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,GACZ,wBAAwB,CAQ1B;AAGD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,SAAQ,EACf,MAAM,CAAC,EAAE,kBAAkB,GAC1B,gBAAgB,CAoBlB;AAED,wBAAgB,yBAAyB,IAAI,SAAS,wBAAwB,EAAE,CAE/E"}
|
|
@@ -16,7 +16,7 @@ function parseSetupInstallationProfile(value) {
|
|
|
16
16
|
}
|
|
17
17
|
return profile;
|
|
18
18
|
}
|
|
19
|
-
function createInstallationProfileTemplate(profile, name, edition = 'oss') {
|
|
19
|
+
function createInstallationProfileTemplate(profile, name, edition = 'oss', target) {
|
|
20
20
|
return {
|
|
21
21
|
apiVersion: contract_1.XEMA_INSTALLATION_API_VERSION,
|
|
22
22
|
kind: contract_1.XEMA_INSTALLATION_KIND,
|
|
@@ -32,6 +32,7 @@ function createInstallationProfileTemplate(profile, name, edition = 'oss') {
|
|
|
32
32
|
kind: contract_1.DistributionReferenceKind.Edition,
|
|
33
33
|
edition,
|
|
34
34
|
},
|
|
35
|
+
...(target === undefined ? {} : { target }),
|
|
35
36
|
},
|
|
36
37
|
};
|
|
37
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../src/runtime/installation/setup-profile.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../src/runtime/installation/setup-profile.ts"],"names":[],"mappings":";;AAkBA,sEAUC;AASD,8EAyBC;AAED,8DAEC;AAlED,yCAQoB;AAEpB,MAAM,cAAc,GAAG;IACrB,8BAAmB,CAAC,SAAS;IAC7B,8BAAmB,CAAC,OAAO;IAC3B,8BAAmB,CAAC,oBAAoB;CAChC,CAAC;AAIX,SAAgB,6BAA6B,CAC3C,KAAa;IAEb,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IACxE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,aAAa,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AASD,SAAgB,iCAAiC,CAC/C,OAAiC,EACjC,IAAY,EACZ,OAAO,GAAG,KAAK,EACf,MAA2B;IAE3B,OAAO;QACL,UAAU,EAAE,wCAA6B;QACzC,IAAI,EAAE,iCAAsB;QAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE;QAClB,IAAI,EAAE;YACJ,OAAO;YACP,SAAS,EAAE;gBACT,WAAW,EACT,OAAO,KAAK,8BAAmB,CAAC,oBAAoB;oBAClD,CAAC,CAAC,+BAAoB,CAAC,UAAU;oBACjC,CAAC,CAAC,+BAAoB,CAAC,WAAW;aACvC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,oCAAyB,CAAC,OAAO;gBACvC,OAAO;aACR;YACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB;IACvC,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,sBAAsB,GACnC,SAAS,iBAAiB,EAAE,CAsI9B"}
|
|
@@ -52,14 +52,6 @@ function validateOperationalPolicy(installation) {
|
|
|
52
52
|
spec.capacity.minReplicas > spec.capacity.maxReplicas) {
|
|
53
53
|
issues.push(issue('CAPACITY_RANGE_INVALID', 'spec.capacity', 'minReplicas cannot exceed maxReplicas'));
|
|
54
54
|
}
|
|
55
|
-
if (spec.upgrade.channel === contract_1.UpgradeChannel.Pinned &&
|
|
56
|
-
spec.upgrade.releaseRef === undefined) {
|
|
57
|
-
issues.push(issue('PINNED_RELEASE_REQUIRED', 'spec.upgrade.releaseRef', 'pinned upgrade channel requires a releaseRef', diagnostics_1.InstallationIssueKind.Unresolved));
|
|
58
|
-
}
|
|
59
|
-
if (spec.upgrade.channel !== contract_1.UpgradeChannel.Pinned &&
|
|
60
|
-
spec.upgrade.releaseRef !== undefined) {
|
|
61
|
-
issues.push(issue('RELEASE_REF_NOT_ALLOWED', 'spec.upgrade.releaseRef', 'releaseRef is only valid for the pinned upgrade channel'));
|
|
62
|
-
}
|
|
63
55
|
return issues;
|
|
64
56
|
}
|
|
65
57
|
function issue(code, path, message, kind = diagnostics_1.InstallationIssueKind.Invalid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"operational.js","sourceRoot":"","sources":["../../../../src/runtime/installation/validators/operational.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export declare enum InfraEngine {
|
|
2
|
+
OpenTofu = "tofu",
|
|
3
|
+
Terraform = "terraform"
|
|
4
|
+
}
|
|
5
|
+
export declare enum StepMode {
|
|
6
|
+
Always = "always",
|
|
7
|
+
Executing = "executing"
|
|
8
|
+
}
|
|
9
|
+
export declare enum OnboardStepKind {
|
|
10
|
+
InfraInit = "infra-init",
|
|
11
|
+
InfraPlan = "infra-plan",
|
|
12
|
+
InfraApply = "infra-apply",
|
|
13
|
+
Bind = "bind",
|
|
14
|
+
EngineValidate = "engine-validate",
|
|
15
|
+
EnginePlan = "engine-plan",
|
|
16
|
+
EngineApply = "engine-apply",
|
|
17
|
+
EngineVerify = "engine-verify"
|
|
18
|
+
}
|
|
19
|
+
export interface OnboardStep {
|
|
20
|
+
readonly kind: OnboardStepKind;
|
|
21
|
+
readonly mode: StepMode;
|
|
22
|
+
readonly command: readonly string[];
|
|
23
|
+
readonly cwd: string;
|
|
24
|
+
readonly because: string;
|
|
25
|
+
readonly operator?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export interface OnboardRefusal {
|
|
28
|
+
readonly code: OnboardRefusalCode;
|
|
29
|
+
readonly message: string;
|
|
30
|
+
}
|
|
31
|
+
export declare enum OnboardRefusalCode {
|
|
32
|
+
DeploymentRootMissing = "deployment-root-missing",
|
|
33
|
+
DeploymentDescriptorMissing = "deployment-descriptor-missing",
|
|
34
|
+
InfraRootMissing = "infra-root-missing",
|
|
35
|
+
InfraRootEmpty = "infra-root-empty",
|
|
36
|
+
UnfilledRegisterValue = "unfilled-register-value",
|
|
37
|
+
EngineBinaryUnknown = "engine-binary-unknown"
|
|
38
|
+
}
|
|
39
|
+
export interface OnboardInputs {
|
|
40
|
+
readonly deployment: string;
|
|
41
|
+
readonly root: string;
|
|
42
|
+
readonly infraRoot: string | null;
|
|
43
|
+
readonly engine: InfraEngine;
|
|
44
|
+
readonly execute: boolean;
|
|
45
|
+
readonly kubeconfig?: string;
|
|
46
|
+
readonly externals?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function unfilledRegisterIds(value: string): readonly string[];
|
|
49
|
+
export declare function refusalsFor(inputs: OnboardInputs): readonly OnboardRefusal[];
|
|
50
|
+
export declare function stepsFor(inputs: OnboardInputs): readonly OnboardStep[];
|
|
51
|
+
export declare function executableSteps(inputs: OnboardInputs): readonly OnboardStep[];
|
|
52
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/runtime/onboard/plan.ts"],"names":[],"mappings":"AAsCA,oBAAY,WAAW;IAErB,QAAQ,SAAS;IAEjB,SAAS,cAAc;CACxB;AAGD,oBAAY,QAAQ;IAElB,MAAM,WAAW;IAEjB,SAAS,cAAc;CACxB;AAED,oBAAY,eAAe;IACzB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,UAAU,gBAAgB;IAC1B,IAAI,SAAS;IACb,cAAc,oBAAoB;IAClC,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,YAAY,kBAAkB;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAExB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAEpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,kBAAkB;IAC5B,qBAAqB,4BAA4B;IACjD,2BAA2B,kCAAkC;IAC7D,gBAAgB,uBAAuB;IACvC,cAAc,qBAAqB;IACnC,qBAAqB,4BAA4B;IACjD,mBAAmB,0BAA0B;CAC9C;AAED,MAAM,WAAW,aAAa;IAE5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAoBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOpE;AAwBD,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,cAAc,EAAE,CAqD5E;AAOD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,WAAW,EAAE,CAqFtE;AASD,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,WAAW,EAAE,CAI7E"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OnboardRefusalCode = exports.OnboardStepKind = exports.StepMode = exports.InfraEngine = void 0;
|
|
7
|
+
exports.unfilledRegisterIds = unfilledRegisterIds;
|
|
8
|
+
exports.refusalsFor = refusalsFor;
|
|
9
|
+
exports.stepsFor = stepsFor;
|
|
10
|
+
exports.executableSteps = executableSteps;
|
|
11
|
+
const node_fs_1 = require("node:fs");
|
|
12
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
+
var InfraEngine;
|
|
14
|
+
(function (InfraEngine) {
|
|
15
|
+
InfraEngine["OpenTofu"] = "tofu";
|
|
16
|
+
InfraEngine["Terraform"] = "terraform";
|
|
17
|
+
})(InfraEngine || (exports.InfraEngine = InfraEngine = {}));
|
|
18
|
+
var StepMode;
|
|
19
|
+
(function (StepMode) {
|
|
20
|
+
StepMode["Always"] = "always";
|
|
21
|
+
StepMode["Executing"] = "executing";
|
|
22
|
+
})(StepMode || (exports.StepMode = StepMode = {}));
|
|
23
|
+
var OnboardStepKind;
|
|
24
|
+
(function (OnboardStepKind) {
|
|
25
|
+
OnboardStepKind["InfraInit"] = "infra-init";
|
|
26
|
+
OnboardStepKind["InfraPlan"] = "infra-plan";
|
|
27
|
+
OnboardStepKind["InfraApply"] = "infra-apply";
|
|
28
|
+
OnboardStepKind["Bind"] = "bind";
|
|
29
|
+
OnboardStepKind["EngineValidate"] = "engine-validate";
|
|
30
|
+
OnboardStepKind["EnginePlan"] = "engine-plan";
|
|
31
|
+
OnboardStepKind["EngineApply"] = "engine-apply";
|
|
32
|
+
OnboardStepKind["EngineVerify"] = "engine-verify";
|
|
33
|
+
})(OnboardStepKind || (exports.OnboardStepKind = OnboardStepKind = {}));
|
|
34
|
+
var OnboardRefusalCode;
|
|
35
|
+
(function (OnboardRefusalCode) {
|
|
36
|
+
OnboardRefusalCode["DeploymentRootMissing"] = "deployment-root-missing";
|
|
37
|
+
OnboardRefusalCode["DeploymentDescriptorMissing"] = "deployment-descriptor-missing";
|
|
38
|
+
OnboardRefusalCode["InfraRootMissing"] = "infra-root-missing";
|
|
39
|
+
OnboardRefusalCode["InfraRootEmpty"] = "infra-root-empty";
|
|
40
|
+
OnboardRefusalCode["UnfilledRegisterValue"] = "unfilled-register-value";
|
|
41
|
+
OnboardRefusalCode["EngineBinaryUnknown"] = "engine-binary-unknown";
|
|
42
|
+
})(OnboardRefusalCode || (exports.OnboardRefusalCode = OnboardRefusalCode = {}));
|
|
43
|
+
const UNFILLED_TOKEN = /UNFILLED:([A-Za-z0-9][A-Za-z0-9-]*)/g;
|
|
44
|
+
function unfilledRegisterIds(value) {
|
|
45
|
+
const ids = [];
|
|
46
|
+
for (const match of value.matchAll(UNFILLED_TOKEN)) {
|
|
47
|
+
const id = match[1];
|
|
48
|
+
if (id !== undefined && !ids.includes(id)) {
|
|
49
|
+
ids.push(id);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return ids;
|
|
53
|
+
}
|
|
54
|
+
const VARIABLE_FILE = /\.(tfvars|tfvars\.json|auto\.tfvars|auto\.tfvars\.json)$/;
|
|
55
|
+
function variableFiles(infraRoot) {
|
|
56
|
+
if (!(0, node_fs_1.existsSync)(infraRoot)) {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
return (0, node_fs_1.readdirSync)(infraRoot)
|
|
60
|
+
.filter((entry) => VARIABLE_FILE.test(entry))
|
|
61
|
+
.filter((entry) => (0, node_fs_1.statSync)(node_path_1.default.join(infraRoot, entry)).isFile())
|
|
62
|
+
.sort();
|
|
63
|
+
}
|
|
64
|
+
function hasTerraformSource(infraRoot) {
|
|
65
|
+
if (!(0, node_fs_1.existsSync)(infraRoot)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return (0, node_fs_1.readdirSync)(infraRoot).some((entry) => entry.endsWith('.tf') || entry.endsWith('.tf.json'));
|
|
69
|
+
}
|
|
70
|
+
function refusalsFor(inputs) {
|
|
71
|
+
const refusals = [];
|
|
72
|
+
if (!(0, node_fs_1.existsSync)(inputs.root)) {
|
|
73
|
+
refusals.push({
|
|
74
|
+
code: OnboardRefusalCode.DeploymentRootMissing,
|
|
75
|
+
message: `deployment root ${inputs.root} does not exist. It is a DIRECTORY OF DATA — ` +
|
|
76
|
+
'deployment.yaml, infra.yaml, secret-inputs.yaml, values.yaml — and onboarding ' +
|
|
77
|
+
'starts by writing those four files, not by running this command.',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
else if (!(0, node_fs_1.existsSync)(node_path_1.default.join(inputs.root, 'deployment.yaml'))) {
|
|
81
|
+
refusals.push({
|
|
82
|
+
code: OnboardRefusalCode.DeploymentDescriptorMissing,
|
|
83
|
+
message: `${node_path_1.default.join(inputs.root, 'deployment.yaml')} does not exist; it is what names the deployment, its cluster and its domains.`,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
if (inputs.infraRoot !== null) {
|
|
87
|
+
if (!(0, node_fs_1.existsSync)(inputs.infraRoot)) {
|
|
88
|
+
refusals.push({
|
|
89
|
+
code: OnboardRefusalCode.InfraRootMissing,
|
|
90
|
+
message: `infrastructure root ${inputs.infraRoot} does not exist. Pass --no-infra when the ` +
|
|
91
|
+
'substrate is somebody else\'s — an existing cluster and database bound by their ' +
|
|
92
|
+
'endpoints — and onboard runs the platform half alone.',
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else if (!hasTerraformSource(inputs.infraRoot)) {
|
|
96
|
+
refusals.push({
|
|
97
|
+
code: OnboardRefusalCode.InfraRootEmpty,
|
|
98
|
+
message: `infrastructure root ${inputs.infraRoot} holds no .tf files. It is a CONSUMER ROOT: a ` +
|
|
99
|
+
'pinned module source, its variables and a backend — authored by whoever owns the ' +
|
|
100
|
+
'cloud account, and runnable with this CLI uninstalled.',
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
for (const file of variableFiles(inputs.infraRoot)) {
|
|
105
|
+
const absolute = node_path_1.default.join(inputs.infraRoot, file);
|
|
106
|
+
const ids = unfilledRegisterIds((0, node_fs_1.readFileSync)(absolute, 'utf8'));
|
|
107
|
+
if (ids.length > 0) {
|
|
108
|
+
refusals.push({
|
|
109
|
+
code: OnboardRefusalCode.UnfilledRegisterValue,
|
|
110
|
+
message: `${absolute} carries ${ids.length === 1 ? 'an unanswered register row' : 'unanswered register rows'}: ` +
|
|
111
|
+
`${ids.join(', ')}. Answer ${ids.length === 1 ? 'that row' : 'those rows'} in the register and write the value; ` +
|
|
112
|
+
'an unfilled value reaches the provider as a shape error that names no row.',
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return refusals;
|
|
119
|
+
}
|
|
120
|
+
function stepsFor(inputs) {
|
|
121
|
+
const steps = [];
|
|
122
|
+
const engine = inputs.engine;
|
|
123
|
+
steps.push({
|
|
124
|
+
kind: OnboardStepKind.EngineValidate,
|
|
125
|
+
mode: StepMode.Always,
|
|
126
|
+
cwd: '.',
|
|
127
|
+
command: ['xema-deployment-engine', 'validate', '--root', inputs.root],
|
|
128
|
+
because: 'derives what is derivable into the root and grades every declaration — ' +
|
|
129
|
+
'first, because it needs no cloud and no cluster, so an unanswered row is ' +
|
|
130
|
+
'refused before anything is provisioned.',
|
|
131
|
+
});
|
|
132
|
+
if (inputs.infraRoot !== null) {
|
|
133
|
+
steps.push({
|
|
134
|
+
kind: OnboardStepKind.InfraInit,
|
|
135
|
+
mode: StepMode.Always,
|
|
136
|
+
cwd: inputs.infraRoot,
|
|
137
|
+
command: [engine, 'init', '-input=false'],
|
|
138
|
+
because: 'the native command, in the customer\'s own root, against the backend they own.',
|
|
139
|
+
});
|
|
140
|
+
steps.push({
|
|
141
|
+
kind: OnboardStepKind.InfraPlan,
|
|
142
|
+
mode: StepMode.Always,
|
|
143
|
+
cwd: inputs.infraRoot,
|
|
144
|
+
command: [engine, 'plan', '-input=false'],
|
|
145
|
+
because: 'what the substrate apply would do. Printed in both modes: it mutates nothing.',
|
|
146
|
+
});
|
|
147
|
+
steps.push({
|
|
148
|
+
kind: OnboardStepKind.InfraApply,
|
|
149
|
+
mode: StepMode.Executing,
|
|
150
|
+
cwd: inputs.infraRoot,
|
|
151
|
+
command: [engine, 'apply', '-input=false', '-auto-approve'],
|
|
152
|
+
because: 'creates the cluster, the database, the deployer identity and the DNS records.',
|
|
153
|
+
});
|
|
154
|
+
steps.push({
|
|
155
|
+
kind: OnboardStepKind.Bind,
|
|
156
|
+
mode: StepMode.Executing,
|
|
157
|
+
operator: true,
|
|
158
|
+
cwd: inputs.infraRoot,
|
|
159
|
+
command: [
|
|
160
|
+
engine,
|
|
161
|
+
'output',
|
|
162
|
+
'-json',
|
|
163
|
+
'|',
|
|
164
|
+
'node',
|
|
165
|
+
'<xema-infra-terraform>/tooling/bind/bind-outputs.mjs',
|
|
166
|
+
'--secret-inputs',
|
|
167
|
+
node_path_1.default.join(inputs.root, 'secret-inputs.yaml'),
|
|
168
|
+
'--externals',
|
|
169
|
+
inputs.externals ?? '<a path OUTSIDE every repository>',
|
|
170
|
+
],
|
|
171
|
+
because: 'routes the substrate\'s endpoints into the committed secret-inputs.yaml and its ' +
|
|
172
|
+
'CREDENTIALS into a file outside every repository. An OPERATOR step: onboard prints ' +
|
|
173
|
+
'it rather than running it, because a command that writes credentials is a command ' +
|
|
174
|
+
'that holds them.',
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
steps.push({
|
|
178
|
+
kind: OnboardStepKind.EnginePlan,
|
|
179
|
+
mode: StepMode.Always,
|
|
180
|
+
cwd: '.',
|
|
181
|
+
command: engineCommand(['plan', '--root', inputs.root], inputs),
|
|
182
|
+
because: 'the releases that would install or change, from the sealed lock.',
|
|
183
|
+
});
|
|
184
|
+
steps.push({
|
|
185
|
+
kind: OnboardStepKind.EngineApply,
|
|
186
|
+
mode: StepMode.Executing,
|
|
187
|
+
cwd: '.',
|
|
188
|
+
command: engineCommand(['apply', '--root', inputs.root], inputs),
|
|
189
|
+
because: 'installs in dependency order on an empty cluster, reconciles on an existing one.',
|
|
190
|
+
});
|
|
191
|
+
steps.push({
|
|
192
|
+
kind: OnboardStepKind.EngineVerify,
|
|
193
|
+
mode: StepMode.Executing,
|
|
194
|
+
cwd: '.',
|
|
195
|
+
command: engineCommand(['verify', '--root', inputs.root], inputs),
|
|
196
|
+
because: 'desired equals live, per release, or the divergence list.',
|
|
197
|
+
});
|
|
198
|
+
return steps;
|
|
199
|
+
}
|
|
200
|
+
function engineCommand(verb, inputs) {
|
|
201
|
+
const command = ['xema-deployment-engine', ...verb];
|
|
202
|
+
if (inputs.kubeconfig !== undefined) {
|
|
203
|
+
command.push('--kubeconfig', inputs.kubeconfig);
|
|
204
|
+
}
|
|
205
|
+
return command;
|
|
206
|
+
}
|
|
207
|
+
function executableSteps(inputs) {
|
|
208
|
+
return stepsFor(inputs).filter((step) => step.operator !== true && (inputs.execute || step.mode === StepMode.Always));
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/runtime/onboard/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,5 +8,9 @@ export interface CheckoutOptions {
|
|
|
8
8
|
}
|
|
9
9
|
export declare function resolveGitSource(spec: GitSource, ctx: LaunchResolveContext): LockIndex | null;
|
|
10
10
|
export declare function checkoutGitSource(spec: GitSource, credentials: CredentialResolver, log?: LogFn, opts?: CheckoutOptions): string;
|
|
11
|
+
export declare const GIT_AUTH_CONFIG_KEY_PREFIX = "http.";
|
|
12
|
+
export declare const GIT_AUTH_CONFIG_KEY_SUFFIX = ".extraHeader";
|
|
13
|
+
export declare const GIT_AUTH_USERNAME = "x-access-token";
|
|
14
|
+
export declare function gitEnvWithAuth(sourceUrl: string, token: string | undefined, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
11
15
|
export {};
|
|
12
16
|
//# sourceMappingURL=git.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAmBpC,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"AAKA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAG3C,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAmBpC,MAAM,WAAW,eAAe;IAE9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAqBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAwD7F;AA4BD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,kBAAkB,EAC/B,GAAG,CAAC,EAAE,KAAK,EACX,IAAI,GAAE,eAAoB,GACzB,MAAM,CAKR;AAuID,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAClD,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AAWzD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AA4BlD,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,UAAU,CAanB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GIT_AUTH_USERNAME = exports.GIT_AUTH_CONFIG_KEY_SUFFIX = exports.GIT_AUTH_CONFIG_KEY_PREFIX = void 0;
|
|
3
4
|
exports.resolveGitSource = resolveGitSource;
|
|
4
5
|
exports.checkoutGitSource = checkoutGitSource;
|
|
6
|
+
exports.gitEnvWithAuth = gitEnvWithAuth;
|
|
5
7
|
const node_child_process_1 = require("node:child_process");
|
|
6
8
|
const node_fs_1 = require("node:fs");
|
|
7
9
|
const node_os_1 = require("node:os");
|
|
@@ -101,9 +103,9 @@ function ensureClone(spec, dir, ref, credentials, log, offline) {
|
|
|
101
103
|
function cloneAtRef(spec, dir, ref, isSha, token, log) {
|
|
102
104
|
try {
|
|
103
105
|
if (isSha) {
|
|
104
|
-
runGit(['clone', '--depth', '1', '--', spec.url, dir], token);
|
|
105
|
-
runGit(['-C', dir, 'fetch', '--depth', '1', 'origin', '--', ref], token);
|
|
106
|
-
runGit(['-C', dir, 'checkout', '--detach', ref], token);
|
|
106
|
+
runGit(spec, ['clone', '--depth', '1', '--', spec.url, dir], token);
|
|
107
|
+
runGit(spec, ['-C', dir, 'fetch', '--depth', '1', 'origin', '--', ref], token);
|
|
108
|
+
runGit(spec, ['-C', dir, 'checkout', '--detach', ref], token);
|
|
107
109
|
log?.(`source "${spec.name}" (git): checked out commit ${ref}.`);
|
|
108
110
|
return;
|
|
109
111
|
}
|
|
@@ -112,7 +114,7 @@ function cloneAtRef(spec, dir, ref, isSha, token, log) {
|
|
|
112
114
|
args.push('--branch', spec.ref);
|
|
113
115
|
}
|
|
114
116
|
args.push('--', spec.url, dir);
|
|
115
|
-
runGit(args, token);
|
|
117
|
+
runGit(spec, args, token);
|
|
116
118
|
}
|
|
117
119
|
catch (err) {
|
|
118
120
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -121,8 +123,8 @@ function cloneAtRef(spec, dir, ref, isSha, token, log) {
|
|
|
121
123
|
}
|
|
122
124
|
function refreshFloatingRef(spec, dir, ref, token, log) {
|
|
123
125
|
try {
|
|
124
|
-
runGit(['-C', dir, 'fetch', '--depth', '1', 'origin', '--', ref], token);
|
|
125
|
-
runGit(['-C', dir, 'reset', '--hard', 'FETCH_HEAD'], token);
|
|
126
|
+
runGit(spec, ['-C', dir, 'fetch', '--depth', '1', 'origin', '--', ref], token);
|
|
127
|
+
runGit(spec, ['-C', dir, 'reset', '--hard', 'FETCH_HEAD'], token);
|
|
126
128
|
log?.(`source "${spec.name}" (git): refreshed floating ref ${ref} to remote.`);
|
|
127
129
|
}
|
|
128
130
|
catch (err) {
|
|
@@ -130,23 +132,28 @@ function refreshFloatingRef(spec, dir, ref, token, log) {
|
|
|
130
132
|
throw new Error(`source "${spec.name}" (git): refresh of ${spec.url}@${ref} failed: ${message}`);
|
|
131
133
|
}
|
|
132
134
|
}
|
|
133
|
-
function runGit(args, token) {
|
|
135
|
+
function runGit(spec, args, token) {
|
|
134
136
|
(0, node_child_process_1.execFileSync)('git', [...args], {
|
|
135
137
|
stdio: 'pipe',
|
|
136
138
|
timeout: CLONE_TIMEOUT_MS,
|
|
137
|
-
env: gitEnvWithAuth(token),
|
|
139
|
+
env: gitEnvWithAuth(spec.url, token),
|
|
138
140
|
});
|
|
139
141
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
+
exports.GIT_AUTH_CONFIG_KEY_PREFIX = 'http.';
|
|
143
|
+
exports.GIT_AUTH_CONFIG_KEY_SUFFIX = '.extraHeader';
|
|
144
|
+
exports.GIT_AUTH_USERNAME = 'x-access-token';
|
|
145
|
+
function gitEnvWithAuth(sourceUrl, token, baseEnv = process.env) {
|
|
146
|
+
const base = { ...baseEnv, GIT_TERMINAL_PROMPT: '0' };
|
|
142
147
|
if (token === undefined) {
|
|
143
148
|
return base;
|
|
144
149
|
}
|
|
150
|
+
const origin = new URL(sourceUrl).origin;
|
|
151
|
+
const credential = Buffer.from(`${exports.GIT_AUTH_USERNAME}:${token}`, 'utf8').toString('base64');
|
|
145
152
|
return {
|
|
146
153
|
...base,
|
|
147
154
|
GIT_CONFIG_COUNT: '1',
|
|
148
|
-
GIT_CONFIG_KEY_0:
|
|
149
|
-
GIT_CONFIG_VALUE_0: `Authorization:
|
|
155
|
+
GIT_CONFIG_KEY_0: `${exports.GIT_AUTH_CONFIG_KEY_PREFIX}${origin}/${exports.GIT_AUTH_CONFIG_KEY_SUFFIX}`,
|
|
156
|
+
GIT_CONFIG_VALUE_0: `Authorization: Basic ${credential}`,
|
|
150
157
|
};
|
|
151
158
|
}
|
|
152
159
|
//# sourceMappingURL=git.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../src/runtime/sources/kinds/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,6 @@ infra:
|
|
|
19
19
|
{ mode: external, url: https://s3.corp.internal, bucketPrefix: xema- }
|
|
20
20
|
redis: { mode: managed }
|
|
21
21
|
etcd: { mode: managed }
|
|
22
|
-
search: { mode: managed }
|
|
23
22
|
temporal: { mode: disabled } # this install doesn't use durable workflows
|
|
24
23
|
secrets:
|
|
25
24
|
corp-postgres-password: { from: env, env: XEMA_POSTGRES_PASSWORD }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/xema",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/xema-dev/xema-cli.git",
|
|
@@ -35,21 +35,21 @@
|
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@nestjs/common": "11.1.18",
|
|
39
|
-
"@nestjs/core": "11.1.18",
|
|
40
|
-
"@nestjs/platform-express": "11.1.28",
|
|
41
|
-
"@xemahq/biome-sdk": "^
|
|
38
|
+
"@nestjs/common": "^11.1.18",
|
|
39
|
+
"@nestjs/core": "^11.1.18",
|
|
40
|
+
"@nestjs/platform-express": "^11.1.28",
|
|
41
|
+
"@xemahq/biome-sdk": "^16.0.0",
|
|
42
42
|
"@xemahq/biome-supply-chain": "^0.3.0",
|
|
43
|
-
"@xemahq/distribution-resolver": "^0.
|
|
44
|
-
"@xemahq/dsl": "0.
|
|
45
|
-
"@xemahq/identity-client": "0.9.6",
|
|
46
|
-
"@xemahq/contracts": "^0.
|
|
47
|
-
"@xemahq/kernel-state-runtime": "^0.
|
|
43
|
+
"@xemahq/distribution-resolver": "^0.4.1",
|
|
44
|
+
"@xemahq/dsl": "^0.20.0",
|
|
45
|
+
"@xemahq/identity-client": "^0.9.6",
|
|
46
|
+
"@xemahq/contracts": "^0.16.0",
|
|
47
|
+
"@xemahq/kernel-state-runtime": "^0.6.1",
|
|
48
48
|
"@xemahq/license-verifier": "^0.2.0",
|
|
49
|
-
"@xemahq/service-registry-nest": "^0.
|
|
49
|
+
"@xemahq/service-registry-nest": "^0.11.2",
|
|
50
50
|
"commander": "^12.1.0",
|
|
51
|
-
"reflect-metadata": "0.2.2",
|
|
52
|
-
"rxjs": "7.8.2",
|
|
51
|
+
"reflect-metadata": "^0.2.2",
|
|
52
|
+
"rxjs": "^7.8.2",
|
|
53
53
|
"tsx": "^4.19.2",
|
|
54
54
|
"yaml": "^2.6.1",
|
|
55
55
|
"zod": "^4.3.6"
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/jest": "^30.0.0",
|
|
59
59
|
"@types/node": "25.2.3",
|
|
60
|
+
"@xemahq/biome-host-api-client": "^0.3.29",
|
|
60
61
|
"@xemahq/eslint-config": "^0.5.0",
|
|
61
62
|
"eslint": "^9.39.4",
|
|
62
63
|
"jest": "^30.3.0",
|
package/xema.config.example.yaml
CHANGED
|
@@ -16,7 +16,6 @@ infra:
|
|
|
16
16
|
etcd: { mode: managed } # mandatory (service discovery)
|
|
17
17
|
keycloak: { mode: managed } # mandatory (identity)
|
|
18
18
|
objectStore: { mode: managed } # mandatory (blobs/artifacts)
|
|
19
|
-
search: { mode: managed } # optional (full-text / vectors)
|
|
20
19
|
fga: { mode: managed } # optional (authorization ReBAC)
|
|
21
20
|
git: { mode: disabled } # optional (SCM integration)
|
|
22
21
|
temporal: { mode: managed } # optional (durable workflows)
|