@cat-factory/integrations 0.42.1 → 0.44.0
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/EnvironmentConnectionService.d.ts +4 -3
- package/dist/modules/environments/EnvironmentConnectionService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentConnectionService.js +30 -81
- package/dist/modules/environments/EnvironmentConnectionService.js.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts +23 -1
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js +28 -8
- package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
- package/dist/modules/environments/EnvironmentUserHandlerService.d.ts +45 -0
- package/dist/modules/environments/EnvironmentUserHandlerService.d.ts.map +1 -0
- package/dist/modules/environments/EnvironmentUserHandlerService.js +125 -0
- package/dist/modules/environments/EnvironmentUserHandlerService.js.map +1 -0
- package/dist/modules/environments/infra-handler-build.d.ts +73 -0
- package/dist/modules/environments/infra-handler-build.d.ts.map +1 -0
- package/dist/modules/environments/infra-handler-build.js +124 -0
- package/dist/modules/environments/infra-handler-build.js.map +1 -0
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts +38 -6
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts.map +1 -1
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js +118 -7
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes-deploy.logic.d.ts +128 -0
- package/dist/modules/kubernetes/kubernetes-deploy.logic.d.ts.map +1 -0
- package/dist/modules/kubernetes/kubernetes-deploy.logic.js +201 -0
- package/dist/modules/kubernetes/kubernetes-deploy.logic.js.map +1 -0
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts +17 -2
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes-environment.logic.js +41 -0
- package/dist/modules/kubernetes/kubernetes-environment.logic.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentProvisioningService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EnvironmentProvisioningService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentProvisioningService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
+
import type { EnvironmentConnectionRecord, EnvironmentUserHandlerRepository, ProvisionType, SecretCipher, UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
3
|
+
import type { EnvironmentBackendRegistry } from './environment-backends.js';
|
|
4
|
+
import type { EnvironmentHandlerView, RegisterHandlerInput } from './EnvironmentConnectionService.js';
|
|
5
|
+
export interface EnvironmentUserHandlerServiceDependencies {
|
|
6
|
+
userHandlerRepository: EnvironmentUserHandlerRepository;
|
|
7
|
+
/** Resolves a stored backend `kind` / engine to the provider that validates + builds it. */
|
|
8
|
+
environmentBackendRegistry: EnvironmentBackendRegistry;
|
|
9
|
+
secretCipher: SecretCipher;
|
|
10
|
+
clock: Clock;
|
|
11
|
+
/** URL/host safety policy applied to a registered handler. Defaults to strict. */
|
|
12
|
+
urlPolicy?: UrlSafetyPolicy;
|
|
13
|
+
/** Whether this runtime can honor custom TLS material (a private CA / insecure-skip). */
|
|
14
|
+
customTlsSupported?: boolean;
|
|
15
|
+
/** Optional structural logger for best-effort diagnostics (e.g. a dropped override). */
|
|
16
|
+
logger?: {
|
|
17
|
+
info(obj: Record<string, unknown>, msg?: string): void;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare class EnvironmentUserHandlerService {
|
|
21
|
+
private readonly deps;
|
|
22
|
+
constructor(deps: EnvironmentUserHandlerServiceDependencies);
|
|
23
|
+
/** Every override the user has set for a workspace, sans secret values (batched). */
|
|
24
|
+
list(userId: string, workspaceId: string): Promise<EnvironmentHandlerView[]>;
|
|
25
|
+
/** Register (or replace) the user's override for one provision type (+ optional custom id). */
|
|
26
|
+
upsert(userId: string, workspaceId: string, input: RegisterHandlerInput): Promise<EnvironmentHandlerView>;
|
|
27
|
+
/** Remove one override. */
|
|
28
|
+
remove(userId: string, workspaceId: string, provisionType: ProvisionType, manifestId: string | null): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* The user's overrides as connection records the resolver layers over the workspace
|
|
31
|
+
* handlers (the `resolveUserHandlerOverrides` seam the provisioning service consumes). The
|
|
32
|
+
* per-user table carries no `backendKind` column (it's local-only, where each engine maps
|
|
33
|
+
* 1:1 to a backend), so it's re-derived from the engine here. `upsert` already rejects an
|
|
34
|
+
* override whose engine has no registered backend, so the drop below only fires if the
|
|
35
|
+
* backend registry changed shape after the override was stored; it's logged (not silent) so
|
|
36
|
+
* a fallen-back-to-workspace-handler override is observable rather than a mystery.
|
|
37
|
+
*/
|
|
38
|
+
resolveOverrides(userId: string, workspaceId: string): Promise<EnvironmentConnectionRecord[]>;
|
|
39
|
+
/** The registered backend kind for an engine, or null when none is registered. */
|
|
40
|
+
private backendKindFor;
|
|
41
|
+
/** Secret key NAMES an override requires, derived from its non-secret config (no decrypt). */
|
|
42
|
+
private referencedSecretKeyNames;
|
|
43
|
+
private toView;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=EnvironmentUserHandlerService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentUserHandlerService.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentUserHandlerService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EACV,2BAA2B,EAE3B,gCAAgC,EAGhC,aAAa,EACb,YAAY,EACZ,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,mCAAmC,CAAA;AAiB1C,MAAM,WAAW,yCAAyC;IACxD,qBAAqB,EAAE,gCAAgC,CAAA;IACvD,4FAA4F;IAC5F,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,kFAAkF;IAClF,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,wFAAwF;IACxF,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CACpE;AAED,qBAAa,6BAA6B;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,yCAAyC,EAAI;IAEhF,qFAAqF;IAC/E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAKjF;IAED,+FAA+F;IACzF,MAAM,CACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CA6BjC;IAED,2BAA2B;IACrB,MAAM,CACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAEf;IAED;;;;;;;;OAQG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,2BAA2B,EAAE,CAAC,CA6BxC;IAED,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAQtB,8FAA8F;IAC9F,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,MAAM;CAuBf"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { buildInfraHandlerFields, handlerConfigToBackendConfig, resolveHandlerBackend, } from './infra-handler-build.js';
|
|
2
|
+
export class EnvironmentUserHandlerService {
|
|
3
|
+
deps;
|
|
4
|
+
constructor(deps) {
|
|
5
|
+
this.deps = deps;
|
|
6
|
+
}
|
|
7
|
+
/** Every override the user has set for a workspace, sans secret values (batched). */
|
|
8
|
+
async list(userId, workspaceId) {
|
|
9
|
+
const records = await this.deps.userHandlerRepository.listByUserWorkspace(userId, workspaceId);
|
|
10
|
+
// Secret-key NAMES are derived from the (non-secret) config — upsert guarantees every
|
|
11
|
+
// referenced key is present — so listing needs no per-record decrypt.
|
|
12
|
+
return records.map((record) => this.toView(record, this.referencedSecretKeyNames(record)));
|
|
13
|
+
}
|
|
14
|
+
/** Register (or replace) the user's override for one provision type (+ optional custom id). */
|
|
15
|
+
async upsert(userId, workspaceId, input) {
|
|
16
|
+
const fields = buildInfraHandlerFields(this.deps.environmentBackendRegistry, input, {
|
|
17
|
+
...(this.deps.urlPolicy ? { urlPolicy: this.deps.urlPolicy } : {}),
|
|
18
|
+
...(this.deps.customTlsSupported !== undefined
|
|
19
|
+
? { customTlsSupported: this.deps.customTlsSupported }
|
|
20
|
+
: {}),
|
|
21
|
+
});
|
|
22
|
+
const existing = (await this.deps.userHandlerRepository.listByUserWorkspace(userId, workspaceId)).find((h) => h.provisionType === fields.provisionType && h.manifestId === fields.manifestId);
|
|
23
|
+
const secretsCipher = await this.deps.secretCipher.encrypt(JSON.stringify(input.secrets));
|
|
24
|
+
const now = this.deps.clock.now();
|
|
25
|
+
const record = {
|
|
26
|
+
userId,
|
|
27
|
+
workspaceId,
|
|
28
|
+
provisionType: fields.provisionType,
|
|
29
|
+
manifestId: fields.manifestId,
|
|
30
|
+
engine: fields.engine,
|
|
31
|
+
providerId: fields.providerId,
|
|
32
|
+
label: fields.label,
|
|
33
|
+
baseUrl: fields.baseUrl,
|
|
34
|
+
handlerJson: fields.handlerJson,
|
|
35
|
+
acceptsManifestId: fields.acceptsManifestId,
|
|
36
|
+
secretsCipher,
|
|
37
|
+
createdAt: existing?.createdAt ?? now,
|
|
38
|
+
updatedAt: now,
|
|
39
|
+
};
|
|
40
|
+
await this.deps.userHandlerRepository.upsert(record);
|
|
41
|
+
return this.toView(record, Object.keys(input.secrets));
|
|
42
|
+
}
|
|
43
|
+
/** Remove one override. */
|
|
44
|
+
async remove(userId, workspaceId, provisionType, manifestId) {
|
|
45
|
+
await this.deps.userHandlerRepository.remove(userId, workspaceId, provisionType, manifestId);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The user's overrides as connection records the resolver layers over the workspace
|
|
49
|
+
* handlers (the `resolveUserHandlerOverrides` seam the provisioning service consumes). The
|
|
50
|
+
* per-user table carries no `backendKind` column (it's local-only, where each engine maps
|
|
51
|
+
* 1:1 to a backend), so it's re-derived from the engine here. `upsert` already rejects an
|
|
52
|
+
* override whose engine has no registered backend, so the drop below only fires if the
|
|
53
|
+
* backend registry changed shape after the override was stored; it's logged (not silent) so
|
|
54
|
+
* a fallen-back-to-workspace-handler override is observable rather than a mystery.
|
|
55
|
+
*/
|
|
56
|
+
async resolveOverrides(userId, workspaceId) {
|
|
57
|
+
const records = await this.deps.userHandlerRepository.listByUserWorkspace(userId, workspaceId);
|
|
58
|
+
const out = [];
|
|
59
|
+
for (const record of records) {
|
|
60
|
+
const backendKind = this.backendKindFor(record.engine);
|
|
61
|
+
if (!backendKind) {
|
|
62
|
+
this.deps.logger?.info({ userId, workspaceId, provisionType: record.provisionType, engine: record.engine }, 'Dropping per-user environment handler override: no backend registered for its engine');
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
out.push({
|
|
66
|
+
workspaceId,
|
|
67
|
+
provisionType: record.provisionType,
|
|
68
|
+
manifestId: record.manifestId,
|
|
69
|
+
engine: record.engine,
|
|
70
|
+
backendKind,
|
|
71
|
+
providerId: record.providerId,
|
|
72
|
+
label: record.label,
|
|
73
|
+
baseUrl: record.baseUrl,
|
|
74
|
+
handlerJson: record.handlerJson,
|
|
75
|
+
acceptsManifestId: record.acceptsManifestId,
|
|
76
|
+
secretsCipher: record.secretsCipher,
|
|
77
|
+
createdAt: record.createdAt,
|
|
78
|
+
deletedAt: null,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return out;
|
|
82
|
+
}
|
|
83
|
+
/** The registered backend kind for an engine, or null when none is registered. */
|
|
84
|
+
backendKindFor(engine) {
|
|
85
|
+
try {
|
|
86
|
+
return resolveHandlerBackend(this.deps.environmentBackendRegistry, engine, undefined).kind;
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Secret key NAMES an override requires, derived from its non-secret config (no decrypt). */
|
|
93
|
+
referencedSecretKeyNames(record) {
|
|
94
|
+
try {
|
|
95
|
+
const config = JSON.parse(record.handlerJson);
|
|
96
|
+
const backend = resolveHandlerBackend(this.deps.environmentBackendRegistry, record.engine, undefined);
|
|
97
|
+
return backend.referencedSecretKeys(handlerConfigToBackendConfig(config, backend.kind));
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
toView(record, secretKeys) {
|
|
104
|
+
let config;
|
|
105
|
+
try {
|
|
106
|
+
config = JSON.parse(record.handlerJson);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
config = undefined;
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
provisionType: record.provisionType,
|
|
113
|
+
manifestId: record.manifestId,
|
|
114
|
+
engine: record.engine,
|
|
115
|
+
providerId: record.providerId,
|
|
116
|
+
label: record.label,
|
|
117
|
+
baseUrl: record.baseUrl,
|
|
118
|
+
connectedAt: record.createdAt,
|
|
119
|
+
secretKeys,
|
|
120
|
+
acceptsManifestId: record.acceptsManifestId,
|
|
121
|
+
...(config ? { config } : {}),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=EnvironmentUserHandlerService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentUserHandlerService.js","sourceRoot":"","sources":["../../../src/modules/environments/EnvironmentUserHandlerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { EnvironmentBackendConfig, InfraEngine, InfraHandlerConfig, KubernetesManifestSource, ProvisionType, ServiceProvisioning, UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
2
|
+
import type { EnvironmentBackendProvider, EnvironmentBackendRegistry } from './environment-backends.js';
|
|
3
|
+
/**
|
|
4
|
+
* A placeholder manifest source for config validation / metadata extraction, where the
|
|
5
|
+
* real (service-owned) source isn't available. The kube backend's `assertConfigSafe` /
|
|
6
|
+
* `connectionMeta` only read the apiserver/sizing fields, never the source, so a stand-in
|
|
7
|
+
* is safe — the REAL source is merged in at provision time (`resolveProviderForType`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const PLACEHOLDER_MANIFEST_SOURCE: KubernetesManifestSource;
|
|
10
|
+
/**
|
|
11
|
+
* Coerce an env-manifest `providerId` (regex `^[a-z0-9-]+$`, so a leading `-` is allowed) into a
|
|
12
|
+
* valid `manifestId` (`^[a-z0-9][a-z0-9-]*$`) for the compat bridge's `acceptsManifestId`: strip
|
|
13
|
+
* leading non-alphanumerics, cap to 64, and fall back to `custom` if nothing usable remains.
|
|
14
|
+
*/
|
|
15
|
+
export declare function toManifestId(providerId: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* The service-owned kube provisioning inputs ("what + where" + render inputs) merged into the
|
|
18
|
+
* workspace engine config at provision time: the manifest source plus the container-deploy
|
|
19
|
+
* render fields (image overrides, per-environment helm releases, secret injections).
|
|
20
|
+
*/
|
|
21
|
+
export type ServiceKubeInputs = Pick<ServiceProvisioning, 'manifestSource' | 'images' | 'helmReleases' | 'secretInjections'>;
|
|
22
|
+
/**
|
|
23
|
+
* Lower a discriminated-by-`engine` {@link InfraHandlerConfig} into the discriminated-by-`kind`
|
|
24
|
+
* {@link EnvironmentBackendConfig} the backend registry consumes. For a kube engine the source
|
|
25
|
+
* is resolved by precedence: the service-owned `manifestSource` (the split the whole initiative
|
|
26
|
+
* is about) > a legacy source the compat bridge stored inline (a kube handler config MAY carry
|
|
27
|
+
* one) > a placeholder (validation/metadata paths, where the kube backend reads only the
|
|
28
|
+
* apiserver/sizing fields, never the source). The service's render inputs (image overrides,
|
|
29
|
+
* secret injections, per-env helm releases) are folded in too; the workspace's shared
|
|
30
|
+
* (`scope: 'shared'`) helm releases on the engine config are merged with the service's by
|
|
31
|
+
* release name (a same-named service release overrides the engine one — no double install).
|
|
32
|
+
*/
|
|
33
|
+
export declare function handlerConfigToBackendConfig(config: InfraHandlerConfig, backendKind: string, service?: ServiceKubeInputs): EnvironmentBackendConfig;
|
|
34
|
+
/** Resolve the backend that builds a handler's provider: the pinned kind, else by engine. */
|
|
35
|
+
export declare function resolveHandlerBackend(registry: EnvironmentBackendRegistry, engine: InfraEngine, backendKind: string | undefined): EnvironmentBackendProvider;
|
|
36
|
+
/** The validated, persistence-ready non-secret fields of a per-type infra handler. */
|
|
37
|
+
export interface InfraHandlerPersistedFields {
|
|
38
|
+
provisionType: ProvisionType;
|
|
39
|
+
manifestId: string | null;
|
|
40
|
+
engine: InfraEngine;
|
|
41
|
+
backendKind: string;
|
|
42
|
+
providerId: string;
|
|
43
|
+
label: string;
|
|
44
|
+
baseUrl: string;
|
|
45
|
+
/** The serialized {@link InfraHandlerConfig} (sans secrets). */
|
|
46
|
+
handlerJson: string;
|
|
47
|
+
acceptsManifestId: string | null;
|
|
48
|
+
}
|
|
49
|
+
/** Register/upsert input shared by both the workspace and per-user handler stores. */
|
|
50
|
+
export interface BuildInfraHandlerInput {
|
|
51
|
+
provisionType: ProvisionType;
|
|
52
|
+
/** For a `custom` type keyed to a specific manifest id; absent ⇒ the bare (single) handler. */
|
|
53
|
+
manifestId?: string | null;
|
|
54
|
+
config: InfraHandlerConfig;
|
|
55
|
+
/**
|
|
56
|
+
* The env-backend registry kind that builds the provider. Absent ⇒ resolved from the
|
|
57
|
+
* config's engine (the generic backend for that engine). Pin it to select a specific
|
|
58
|
+
* custom backend that rides a shared engine (e.g. `remote-custom`).
|
|
59
|
+
*/
|
|
60
|
+
backendKind?: string;
|
|
61
|
+
secrets: Record<string, string>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Validate a handler config (lower it, SSRF/runtime-safety check it, verify every referenced
|
|
65
|
+
* secret key is supplied) and derive its persisted non-secret fields. Throws a
|
|
66
|
+
* {@link ValidationError} on an unsafe config or a missing secret value. The caller encrypts
|
|
67
|
+
* the secret bundle and assembles the (store-specific) record around these fields.
|
|
68
|
+
*/
|
|
69
|
+
export declare function buildInfraHandlerFields(registry: EnvironmentBackendRegistry, input: BuildInfraHandlerInput, opts?: {
|
|
70
|
+
urlPolicy?: UrlSafetyPolicy;
|
|
71
|
+
customTlsSupported?: boolean;
|
|
72
|
+
}): InfraHandlerPersistedFields;
|
|
73
|
+
//# sourceMappingURL=infra-handler-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-handler-build.d.ts","sourceRoot":"","sources":["../../../src/modules/environments/infra-handler-build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,EACb,mBAAmB,EACnB,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,2BAA2B,CAAA;AASlC;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,EAAE,wBAGzC,CAAA;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,mBAAmB,EACnB,gBAAgB,GAAG,QAAQ,GAAG,cAAc,GAAG,kBAAkB,CAClE,CAAA;AAoBD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,wBAAwB,CAwB1B;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,0BAA0B,EACpC,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,0BAA0B,CAU5B;AAED,sFAAsF;AACtF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,aAAa,CAAA;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,WAAW,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED,sFAAsF;AACtF,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,aAAa,CAAA;IAC5B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,MAAM,EAAE,kBAAkB,CAAA;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,0BAA0B,EACpC,KAAK,EAAE,sBAAsB,EAC7B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,eAAe,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,GACvE,2BAA2B,CA8B7B"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { ValidationError } from '@cat-factory/kernel';
|
|
2
|
+
// Shared lowering + validation for a per-type infra HANDLER row (the "how"), used by BOTH
|
|
3
|
+
// the per-workspace handler store (`EnvironmentConnectionService`) and the per-USER override
|
|
4
|
+
// store (`EnvironmentUserHandlerService`). Keeping the engine→backend lowering, the SSRF /
|
|
5
|
+
// secret-completeness checks, and the persisted-metadata derivation in one place stops the
|
|
6
|
+
// two stores from drifting on what a valid handler is. See
|
|
7
|
+
// docs/initiatives/per-service-provision-types.md.
|
|
8
|
+
/**
|
|
9
|
+
* A placeholder manifest source for config validation / metadata extraction, where the
|
|
10
|
+
* real (service-owned) source isn't available. The kube backend's `assertConfigSafe` /
|
|
11
|
+
* `connectionMeta` only read the apiserver/sizing fields, never the source, so a stand-in
|
|
12
|
+
* is safe — the REAL source is merged in at provision time (`resolveProviderForType`).
|
|
13
|
+
*/
|
|
14
|
+
export const PLACEHOLDER_MANIFEST_SOURCE = {
|
|
15
|
+
type: 'colocated',
|
|
16
|
+
path: '.',
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Coerce an env-manifest `providerId` (regex `^[a-z0-9-]+$`, so a leading `-` is allowed) into a
|
|
20
|
+
* valid `manifestId` (`^[a-z0-9][a-z0-9-]*$`) for the compat bridge's `acceptsManifestId`: strip
|
|
21
|
+
* leading non-alphanumerics, cap to 64, and fall back to `custom` if nothing usable remains.
|
|
22
|
+
*/
|
|
23
|
+
export function toManifestId(providerId) {
|
|
24
|
+
const id = providerId.replace(/^[^a-z0-9]+/, '').slice(0, 64);
|
|
25
|
+
return id.length > 0 ? id : 'custom';
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Merge the workspace engine's (cluster-shared) helm releases with the service's
|
|
29
|
+
* (per-environment) ones, keyed by release `name` so a service entry OVERRIDES a same-named
|
|
30
|
+
* engine entry instead of installing the release twice. Engine order is preserved; service-only
|
|
31
|
+
* releases are appended.
|
|
32
|
+
*/
|
|
33
|
+
function mergeHelmReleases(engine, service) {
|
|
34
|
+
const byName = new Map();
|
|
35
|
+
for (const rel of engine ?? [])
|
|
36
|
+
byName.set(rel.name, rel);
|
|
37
|
+
for (const rel of service ?? [])
|
|
38
|
+
byName.set(rel.name, rel);
|
|
39
|
+
return [...byName.values()];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Lower a discriminated-by-`engine` {@link InfraHandlerConfig} into the discriminated-by-`kind`
|
|
43
|
+
* {@link EnvironmentBackendConfig} the backend registry consumes. For a kube engine the source
|
|
44
|
+
* is resolved by precedence: the service-owned `manifestSource` (the split the whole initiative
|
|
45
|
+
* is about) > a legacy source the compat bridge stored inline (a kube handler config MAY carry
|
|
46
|
+
* one) > a placeholder (validation/metadata paths, where the kube backend reads only the
|
|
47
|
+
* apiserver/sizing fields, never the source). The service's render inputs (image overrides,
|
|
48
|
+
* secret injections, per-env helm releases) are folded in too; the workspace's shared
|
|
49
|
+
* (`scope: 'shared'`) helm releases on the engine config are merged with the service's by
|
|
50
|
+
* release name (a same-named service release overrides the engine one — no double install).
|
|
51
|
+
*/
|
|
52
|
+
export function handlerConfigToBackendConfig(config, backendKind, service) {
|
|
53
|
+
switch (config.engine) {
|
|
54
|
+
case 'local-docker':
|
|
55
|
+
case 'remote-custom':
|
|
56
|
+
return { kind: backendKind, manifest: config.manifest };
|
|
57
|
+
case 'local-k3s':
|
|
58
|
+
case 'remote-kubernetes': {
|
|
59
|
+
const kube = config.kubernetes;
|
|
60
|
+
const source = service?.manifestSource ?? kube.manifestSource ?? PLACEHOLDER_MANIFEST_SOURCE;
|
|
61
|
+
const helmReleases = mergeHelmReleases(kube.helmReleases, service?.helmReleases);
|
|
62
|
+
return {
|
|
63
|
+
kind: 'kubernetes',
|
|
64
|
+
kubernetes: {
|
|
65
|
+
...kube,
|
|
66
|
+
manifestSource: source,
|
|
67
|
+
...(helmReleases.length > 0 ? { helmReleases } : {}),
|
|
68
|
+
...(service?.images ? { images: service.images } : {}),
|
|
69
|
+
...(service?.secretInjections ? { secretInjections: service.secretInjections } : {}),
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Resolve the backend that builds a handler's provider: the pinned kind, else by engine. */
|
|
76
|
+
export function resolveHandlerBackend(registry, engine, backendKind) {
|
|
77
|
+
if (backendKind) {
|
|
78
|
+
const backend = registry.get(backendKind);
|
|
79
|
+
if (!backend)
|
|
80
|
+
throw new ValidationError(`Unknown environment backend kind '${backendKind}'`);
|
|
81
|
+
return backend;
|
|
82
|
+
}
|
|
83
|
+
const backend = registry.byEngine(engine);
|
|
84
|
+
if (!backend)
|
|
85
|
+
throw new ValidationError(`No environment backend is configured for engine '${engine}'`);
|
|
86
|
+
return backend;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Validate a handler config (lower it, SSRF/runtime-safety check it, verify every referenced
|
|
90
|
+
* secret key is supplied) and derive its persisted non-secret fields. Throws a
|
|
91
|
+
* {@link ValidationError} on an unsafe config or a missing secret value. The caller encrypts
|
|
92
|
+
* the secret bundle and assembles the (store-specific) record around these fields.
|
|
93
|
+
*/
|
|
94
|
+
export function buildInfraHandlerFields(registry, input, opts = {}) {
|
|
95
|
+
const engine = input.config.engine;
|
|
96
|
+
const backend = resolveHandlerBackend(registry, engine, input.backendKind);
|
|
97
|
+
// Validation/metadata only read the apiserver/sizing fields, so the placeholder source is fine.
|
|
98
|
+
const backendConfig = handlerConfigToBackendConfig(input.config, backend.kind);
|
|
99
|
+
backend.assertConfigSafe(backendConfig, {
|
|
100
|
+
...(opts.urlPolicy ? { urlPolicy: opts.urlPolicy } : {}),
|
|
101
|
+
...(opts.customTlsSupported !== undefined
|
|
102
|
+
? { customTlsSupported: opts.customTlsSupported }
|
|
103
|
+
: {}),
|
|
104
|
+
});
|
|
105
|
+
const missing = backend
|
|
106
|
+
.referencedSecretKeys(backendConfig)
|
|
107
|
+
.filter((key) => !(key in input.secrets));
|
|
108
|
+
if (missing.length) {
|
|
109
|
+
throw new ValidationError(`Missing secret values for: ${missing.join(', ')}`);
|
|
110
|
+
}
|
|
111
|
+
const meta = backend.connectionMeta(backendConfig);
|
|
112
|
+
return {
|
|
113
|
+
provisionType: input.provisionType,
|
|
114
|
+
manifestId: input.manifestId ?? null,
|
|
115
|
+
engine,
|
|
116
|
+
backendKind: backend.kind,
|
|
117
|
+
providerId: meta.providerId,
|
|
118
|
+
label: meta.label,
|
|
119
|
+
baseUrl: meta.baseUrl,
|
|
120
|
+
handlerJson: JSON.stringify(input.config),
|
|
121
|
+
acceptsManifestId: input.config.engine === 'remote-custom' ? input.config.acceptsManifestId : null,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=infra-handler-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infra-handler-build.js","sourceRoot":"","sources":["../../../src/modules/environments/infra-handler-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConnectionTestResult, EnvironmentConnectionTestRequest, EnvironmentProvider, EnvironmentStatus, EnvironmentStatusRequest, EnvironmentTeardownRequest, ProviderConfigField, ProvisionEnvironmentRequest, ProvisionedEnvironment } from '@cat-factory/kernel';
|
|
1
|
+
import type { AsyncProvisionCapability, ConnectionTestResult, EnvironmentConnectionTestRequest, EnvironmentProvider, EnvironmentStatus, EnvironmentStatusRequest, EnvironmentTeardownRequest, ProviderConfigField, ProvisionEnvironmentRequest, ProvisionedEnvironment } from '@cat-factory/kernel';
|
|
2
2
|
export interface KubernetesEnvironmentProviderOptions {
|
|
3
3
|
/** Reserved for future URL-policy-aware behaviour; unused today. */
|
|
4
4
|
urlPolicy?: unknown;
|
|
@@ -6,6 +6,12 @@ export interface KubernetesEnvironmentProviderOptions {
|
|
|
6
6
|
export declare class KubernetesEnvironmentProvider implements EnvironmentProvider {
|
|
7
7
|
private readonly options;
|
|
8
8
|
constructor(options?: KubernetesEnvironmentProviderOptions);
|
|
9
|
+
/**
|
|
10
|
+
* Asynchronous, container-backed provisioning for configs the in-Worker REST path can't
|
|
11
|
+
* render (`kustomize`, helm releases, structured image overrides, secret injections). The
|
|
12
|
+
* provider builds the deploy job + maps its outcome; the engine dispatches/polls it.
|
|
13
|
+
*/
|
|
14
|
+
readonly asyncProvision: AsyncProvisionCapability;
|
|
9
15
|
provision(req: ProvisionEnvironmentRequest): Promise<ProvisionedEnvironment>;
|
|
10
16
|
status(req: EnvironmentStatusRequest): Promise<ProvisionedEnvironment>;
|
|
11
17
|
teardown(req: EnvironmentTeardownRequest): Promise<{
|
|
@@ -13,18 +19,44 @@ export declare class KubernetesEnvironmentProvider implements EnvironmentProvide
|
|
|
13
19
|
}>;
|
|
14
20
|
testConnection(req: EnvironmentConnectionTestRequest): Promise<ConnectionTestResult>;
|
|
15
21
|
describeConfig(): ProviderConfigField[];
|
|
22
|
+
/**
|
|
23
|
+
* Build a deploy-container job for a config that needs rendering, or null to use the
|
|
24
|
+
* synchronous REST `provision()` path (raw manifests, no helm/images/secret-injections).
|
|
25
|
+
* Throws when rendering is required but the engine supplied no deploy inputs (a wiring bug).
|
|
26
|
+
*/
|
|
27
|
+
private buildProvisionJob;
|
|
28
|
+
/** Map a finished deploy job's view into a provisioned environment. */
|
|
29
|
+
private finalizeProvision;
|
|
30
|
+
/** The `{{var}}` substitution map for templates (inputs + namespace + optional image). */
|
|
31
|
+
private provisionVars;
|
|
16
32
|
private ensureNamespace;
|
|
17
33
|
private apply;
|
|
18
34
|
/** Aggregate the namespace's Deployments into one lifecycle verdict. */
|
|
19
35
|
private deploymentStatus;
|
|
20
|
-
/** Resolve the live URL, reading the
|
|
36
|
+
/** Resolve the live URL, reading the status host/address for status-backed sources. */
|
|
21
37
|
private resolveLiveUrl;
|
|
22
38
|
/**
|
|
23
|
-
* Read the
|
|
24
|
-
* — when `ingressStatus` omits the name — the single Ingress applied
|
|
25
|
-
*
|
|
39
|
+
* Read the host/address backing a status source: the LoadBalancer address of the named
|
|
40
|
+
* Service/Ingress (or — when `ingressStatus` omits the name — the single Ingress applied
|
|
41
|
+
* in the namespace), or the Gateway-API host for `gatewayStatus`/`httpRouteStatus`. Null
|
|
42
|
+
* until assigned. NOTE: a Gateway/HTTPRoute that DECLARES a concrete hostname resolves
|
|
43
|
+
* immediately (the host is the intended URL), which can precede the address actually being
|
|
44
|
+
* programmed — readiness is driven by the Deployments' rollout, not by this URL.
|
|
45
|
+
*/
|
|
46
|
+
private readStatusHost;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve a `gatewayStatus` host: a named `Gateway` (else the only one in the namespace),
|
|
49
|
+
* preferring a concrete listener hostname over the raw assigned address. Null until assigned.
|
|
50
|
+
*/
|
|
51
|
+
private readGatewayHost;
|
|
52
|
+
/**
|
|
53
|
+
* Resolve an `httpRouteStatus` host: a named `HTTPRoute` (else the only one), preferring its
|
|
54
|
+
* own concrete hostname; otherwise the parent `Gateway`'s assigned address (read in the
|
|
55
|
+
* parentRef's namespace, since a shared gateway commonly lives elsewhere). Null until assigned.
|
|
26
56
|
*/
|
|
27
|
-
private
|
|
57
|
+
private readHttpRouteHost;
|
|
58
|
+
/** GET a `Gateway` by name, or the first one in the namespace when `name` is omitted. */
|
|
59
|
+
private getGateway;
|
|
28
60
|
/** Read the manifest file(s) from the configured source (co-located or separate repo). */
|
|
29
61
|
private readManifests;
|
|
30
62
|
/** Read a single manifest file, or every manifest file in a directory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KubernetesEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,
|
|
1
|
+
{"version":3,"file":"KubernetesEnvironmentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/kubernetes/KubernetesEnvironmentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAEpB,gCAAgC,EAChC,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAG1B,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EAIvB,MAAM,qBAAqB,CAAA;AA4C5B,MAAM,WAAW,oCAAoC;IACnD,oEAAoE;IACpE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,6BAA8B,YAAW,mBAAmB;IAE3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,GAAE,oCAAyC,EAAI;IAEnF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAGhD;IAEK,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqCjF;IAEK,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwB3E;IAEK,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAkBtF;IAEK,cAAc,CAAC,GAAG,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqBzF;IAED,cAAc,IAAI,mBAAmB,EAAE,CAKtC;IAID;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA2BzB,uEAAuE;IACvE,OAAO,CAAC,iBAAiB;IAQzB,0FAA0F;IAC1F,OAAO,CAAC,aAAa;YASP,eAAe;YAqBf,KAAK;IA2BnB,wEAAwE;YAC1D,gBAAgB;IAyB9B,uFAAuF;YACzE,cAAc;IAa5B;;;;;;;OAOG;YACW,cAAc;IA0C5B;;;OAGG;YACW,eAAe;IAY7B;;;;OAIG;YACW,iBAAiB;IAkC/B,yFAAyF;YAC3E,UAAU;IAwBxB,0FAA0F;YAC5E,aAAa;IAwB3B,0EAA0E;YAC5D,QAAQ;CAevB"}
|