@vibesdotdev/integrations-kubernetes 0.0.0-stage → 1.0.0-rc.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/README.md +19 -2
- package/dist/helm-chart.d.ts +13 -0
- package/dist/helm-chart.d.ts.map +1 -0
- package/dist/helm-chart.js +508 -0
- package/dist/helm-chart.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/k8s-configmap.d.ts +25 -0
- package/dist/k8s-configmap.d.ts.map +1 -0
- package/dist/k8s-configmap.js +168 -0
- package/dist/k8s-configmap.js.map +1 -0
- package/dist/k8s-gpu-operator.d.ts +3 -0
- package/dist/k8s-gpu-operator.d.ts.map +1 -0
- package/dist/k8s-gpu-operator.js +53 -0
- package/dist/k8s-gpu-operator.js.map +1 -0
- package/dist/k8s-namespace.d.ts +51 -0
- package/dist/k8s-namespace.d.ts.map +1 -0
- package/dist/k8s-namespace.js +280 -0
- package/dist/k8s-namespace.js.map +1 -0
- package/dist/k8s-pod-health.d.ts +60 -0
- package/dist/k8s-pod-health.d.ts.map +1 -0
- package/dist/k8s-pod-health.js +376 -0
- package/dist/k8s-pod-health.js.map +1 -0
- package/dist/k8s-secret.d.ts +55 -0
- package/dist/k8s-secret.d.ts.map +1 -0
- package/dist/k8s-secret.js +391 -0
- package/dist/k8s-secret.js.map +1 -0
- package/dist/kind-cluster.d.ts +84 -0
- package/dist/kind-cluster.d.ts.map +1 -0
- package/dist/kind-cluster.js +694 -0
- package/dist/kind-cluster.js.map +1 -0
- package/dist/kubectl-budget.client.d.ts +13 -0
- package/dist/kubectl-budget.client.d.ts.map +1 -0
- package/dist/kubectl-budget.client.js +38 -0
- package/dist/kubectl-budget.client.js.map +1 -0
- package/dist/kubectl.d.ts +59 -0
- package/dist/kubectl.d.ts.map +1 -0
- package/dist/kubectl.js +121 -0
- package/dist/kubectl.js.map +1 -0
- package/dist/port-forward-command.d.ts +6 -0
- package/dist/port-forward-command.d.ts.map +1 -0
- package/dist/port-forward-command.js +24 -0
- package/dist/port-forward-command.js.map +1 -0
- package/dist/port-forward-compat.d.ts +11 -0
- package/dist/port-forward-compat.d.ts.map +1 -0
- package/dist/port-forward-compat.js +21 -0
- package/dist/port-forward-compat.js.map +1 -0
- package/dist/port-forward-identity.d.ts +23 -0
- package/dist/port-forward-identity.d.ts.map +1 -0
- package/dist/port-forward-identity.js +72 -0
- package/dist/port-forward-identity.js.map +1 -0
- package/dist/port-forward.consumer.plugin.d.ts +3 -0
- package/dist/port-forward.consumer.plugin.d.ts.map +1 -0
- package/dist/port-forward.consumer.plugin.js +10 -0
- package/dist/port-forward.consumer.plugin.js.map +1 -0
- package/dist/port-forward.d.ts +18 -0
- package/dist/port-forward.d.ts.map +1 -0
- package/dist/port-forward.descriptor.d.ts +7 -0
- package/dist/port-forward.descriptor.d.ts.map +1 -0
- package/dist/port-forward.descriptor.js +3 -0
- package/dist/port-forward.descriptor.js.map +1 -0
- package/dist/port-forward.impl.consumer.d.ts +22 -0
- package/dist/port-forward.impl.consumer.d.ts.map +1 -0
- package/dist/port-forward.impl.consumer.js +32 -0
- package/dist/port-forward.impl.consumer.js.map +1 -0
- package/dist/port-forward.js +26 -0
- package/dist/port-forward.js.map +1 -0
- package/dist/port-forward.kind.d.ts +13 -0
- package/dist/port-forward.kind.d.ts.map +1 -0
- package/dist/port-forward.kind.js +12 -0
- package/dist/port-forward.kind.js.map +1 -0
- package/dist/resource-providers.consumer.plugin.d.ts +3 -0
- package/dist/resource-providers.consumer.plugin.d.ts.map +1 -0
- package/dist/resource-providers.consumer.plugin.js +56 -0
- package/dist/resource-providers.consumer.plugin.js.map +1 -0
- package/dist/schemas/helm-chart.d.ts +14 -0
- package/dist/schemas/helm-chart.d.ts.map +1 -0
- package/dist/schemas/helm-chart.js +12 -0
- package/dist/schemas/helm-chart.js.map +1 -0
- package/dist/schemas/k8s-pod-health.d.ts +17 -0
- package/dist/schemas/k8s-pod-health.d.ts.map +1 -0
- package/dist/schemas/k8s-pod-health.js +21 -0
- package/dist/schemas/k8s-pod-health.js.map +1 -0
- package/dist/schemas/port-forward.d.ts +62 -0
- package/dist/schemas/port-forward.d.ts.map +1 -0
- package/dist/schemas/port-forward.js +24 -0
- package/dist/schemas/port-forward.js.map +1 -0
- package/dist/tool-env.d.ts +19 -0
- package/dist/tool-env.d.ts.map +1 -0
- package/dist/tool-env.js +32 -0
- package/dist/tool-env.js.map +1 -0
- package/package.json +80 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kind-cluster.js","sourceRoot":"","sources":["../src/kind-cluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type KindContext, type RuntimeRef, type RuntimeRootIdentity } from '@vibesdotdev/kernel';
|
|
2
|
+
import { BaseRuntimeClient, type RuntimeClientDescriptor } from '@vibesdotdev/kernel/client';
|
|
3
|
+
import type { KubectlSemaphore } from './schemas/k8s-pod-health.ts';
|
|
4
|
+
/** The `runtime/client` id the resource-providers plugin registers the kubectl budget under. */
|
|
5
|
+
export declare const KUBECTL_BUDGET_CLIENT_ID = "integrations-kubernetes.kubectl-budget";
|
|
6
|
+
/** The identity of `runtime`'s root; a runtime the kernel did not construct names none and is refused typed. */
|
|
7
|
+
export declare function requireRootIdentity(runtime: RuntimeRef): RuntimeRootIdentity;
|
|
8
|
+
/** The kubectl spawn budget of the root it was resolved for. */
|
|
9
|
+
export declare class KubectlBudgetClient extends BaseRuntimeClient {
|
|
10
|
+
readonly semaphore: KubectlSemaphore;
|
|
11
|
+
constructor(descriptor: RuntimeClientDescriptor, context?: KindContext);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=kubectl-budget.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubectl-budget.client.d.ts","sourceRoot":"","sources":["../src/kubectl-budget.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,gGAAgG;AAChG,eAAO,MAAM,wBAAwB,2CAA2C,CAAC;AAWjF,gHAAgH;AAChH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,mBAAmB,CAS5E;AAED,gEAAgE;AAChE,qBAAa,mBAAoB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBAEzB,UAAU,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,WAAW;CAUtE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CapabilityError, rootIdentityOf } from '@vibesdotdev/kernel';
|
|
2
|
+
import { BaseRuntimeClient } from '@vibesdotdev/kernel/client';
|
|
3
|
+
/** The `runtime/client` id the resource-providers plugin registers the kubectl budget under. */
|
|
4
|
+
export const KUBECTL_BUDGET_CLIENT_ID = 'integrations-kubernetes.kubectl-budget';
|
|
5
|
+
/**
|
|
6
|
+
* The kernel constructs one client per lifecycle, so a registry fork (a reload
|
|
7
|
+
* generation) resolves its own; the budget itself belongs to the physical root
|
|
8
|
+
* (kernel SPEC: state that belongs to a root is keyed by its identity), so the
|
|
9
|
+
* root, its plugin views and every fork reach one semaphore and independent
|
|
10
|
+
* roots share nothing.
|
|
11
|
+
*/
|
|
12
|
+
const rootBudgets = new WeakMap();
|
|
13
|
+
/** The identity of `runtime`'s root; a runtime the kernel did not construct names none and is refused typed. */
|
|
14
|
+
export function requireRootIdentity(runtime) {
|
|
15
|
+
const root = rootIdentityOf(runtime);
|
|
16
|
+
if (!root) {
|
|
17
|
+
throw new CapabilityError('The kubectl budget is root-scoped; this runtime names no root the kernel knows.', 'INVALID_INPUT', {
|
|
18
|
+
reason: 'pm-runtime-unidentified',
|
|
19
|
+
retryable: false
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return root;
|
|
23
|
+
}
|
|
24
|
+
/** The kubectl spawn budget of the root it was resolved for. */
|
|
25
|
+
export class KubectlBudgetClient extends BaseRuntimeClient {
|
|
26
|
+
semaphore;
|
|
27
|
+
constructor(descriptor, context) {
|
|
28
|
+
super(descriptor, context);
|
|
29
|
+
const root = requireRootIdentity(this.runtime);
|
|
30
|
+
let semaphore = rootBudgets.get(root);
|
|
31
|
+
if (!semaphore) {
|
|
32
|
+
semaphore = { active: 0, queue: [] };
|
|
33
|
+
rootBudgets.set(root, semaphore);
|
|
34
|
+
}
|
|
35
|
+
this.semaphore = semaphore;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=kubectl-budget.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubectl-budget.client.js","sourceRoot":"","sources":["../src/kubectl-budget.client.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,cAAc,EAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAgC,MAAM,4BAA4B,CAAC;AAG7F,gGAAgG;AAChG,MAAM,CAAC,MAAM,wBAAwB,GAAG,wCAAwC,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,IAAI,OAAO,EAAyC,CAAC;AAEzE,gHAAgH;AAChH,MAAM,UAAU,mBAAmB,CAAC,OAAmB;IACtD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,iFAAiF,EAAE,eAAe,EAAE;YAC7H,MAAM,EAAE,yBAAyB;YACjC,SAAS,EAAE,KAAK;SAChB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,gEAAgE;AAChE,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IAChD,SAAS,CAAmB;IAErC,YAAY,UAAmC,EAAE,OAAqB;QACrE,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YACrC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kubernetes Helper Utilities
|
|
3
|
+
* Generic utilities for managing kubectl operations as PM processes
|
|
4
|
+
*/
|
|
5
|
+
import * as z from 'zod/v4';
|
|
6
|
+
import { type ProcessConfigInput } from '@vibesdotdev/pm/schemas/process';
|
|
7
|
+
import { type PortForwardConfig } from './schemas/port-forward.ts';
|
|
8
|
+
export type { PortForwardConfig } from './schemas/port-forward.ts';
|
|
9
|
+
/**
|
|
10
|
+
* Process-supervision envelope composed from this integration's canonical
|
|
11
|
+
* kubectl argv grammar and PM's process id. The config shape lives exactly
|
|
12
|
+
* once in `./schemas/port-forward.ts`; only the id rule is PM-owned.
|
|
13
|
+
*/
|
|
14
|
+
declare const PortForwardCommonConfigSchema: z.ZodObject<{
|
|
15
|
+
namespace: z.ZodOptional<z.ZodString>;
|
|
16
|
+
context: z.ZodOptional<z.ZodString>;
|
|
17
|
+
additionalFlags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
labelSelector: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
declare const PortForwardEntrySchema: z.ZodObject<{
|
|
21
|
+
service: z.ZodString;
|
|
22
|
+
localPort: z.ZodNumber;
|
|
23
|
+
remotePort: z.ZodNumber;
|
|
24
|
+
labelSelector: z.ZodOptional<z.ZodString>;
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
type PortForwardCommonConfig = z.infer<typeof PortForwardCommonConfigSchema>;
|
|
28
|
+
type PortForwardEntry = z.infer<typeof PortForwardEntrySchema>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a process config for kubectl port-forward
|
|
31
|
+
* Throws INVALID_INPUT / pm-port-forward-input-invalid without submitted values.
|
|
32
|
+
* Import-safe compatibility builder; executable argv is deferred to the selected launch provider.
|
|
33
|
+
*
|
|
34
|
+
* Example usage:
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const postgres = createPortForwardProcess('my-postgres', {
|
|
37
|
+
* namespace: 'production',
|
|
38
|
+
* service: 'postgres',
|
|
39
|
+
* localPort: 5432,
|
|
40
|
+
* remotePort: 5432,
|
|
41
|
+
* context: 'my-cluster'
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function createPortForwardProcess(id: string, config: PortForwardConfig): ProcessConfigInput;
|
|
46
|
+
/**
|
|
47
|
+
* Create multiple port-forward processes after validating the whole batch.
|
|
48
|
+
* Per-forward selectors override common selectors, including explicit undefined.
|
|
49
|
+
*
|
|
50
|
+
* Example usage:
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const forwards = createMultiplePortForwards([
|
|
53
|
+
* { id: 'postgres', service: 'postgres', localPort: 5432, remotePort: 5432, labelSelector: 'app=postgres' },
|
|
54
|
+
* { id: 'redis', service: 'redis', localPort: 6379, remotePort: 6379, labelSelector: 'app=redis' }
|
|
55
|
+
* ], { namespace: 'production', context: 'my-cluster' });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function createMultiplePortForwards(configs: PortForwardEntry[], commonConfig?: PortForwardCommonConfig): ProcessConfigInput[];
|
|
59
|
+
//# sourceMappingURL=kubectl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubectl.d.ts","sourceRoot":"","sources":["../src/kubectl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;;GAIG;AACH,QAAA,MAAM,6BAA6B;;;;;iBAKjC,CAAC;AACH,QAAA,MAAM,sBAAsB;;;;;;iBAO1B,CAAC;AASH,KAAK,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC7E,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAc/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,GACvB,kBAAkB,CAGpB;AAsCD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,YAAY,GAAE,uBAA4B,GACxC,kBAAkB,EAAE,CAQtB"}
|
package/dist/kubectl.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kubernetes Helper Utilities
|
|
3
|
+
* Generic utilities for managing kubectl operations as PM processes
|
|
4
|
+
*/
|
|
5
|
+
import { CapabilityError } from '@vibesdotdev/kernel';
|
|
6
|
+
import * as z from 'zod/v4';
|
|
7
|
+
import { ProcessConfigSchema } from '@vibesdotdev/pm/schemas/process';
|
|
8
|
+
import { PortForwardConfigSchema } from "./schemas/port-forward.js";
|
|
9
|
+
/**
|
|
10
|
+
* Process-supervision envelope composed from this integration's canonical
|
|
11
|
+
* kubectl argv grammar and PM's process id. The config shape lives exactly
|
|
12
|
+
* once in `./schemas/port-forward.ts`; only the id rule is PM-owned.
|
|
13
|
+
*/
|
|
14
|
+
const PortForwardCommonConfigSchema = PortForwardConfigSchema.pick({
|
|
15
|
+
namespace: true,
|
|
16
|
+
context: true,
|
|
17
|
+
additionalFlags: true,
|
|
18
|
+
labelSelector: true
|
|
19
|
+
});
|
|
20
|
+
const PortForwardEntrySchema = PortForwardConfigSchema.pick({
|
|
21
|
+
service: true,
|
|
22
|
+
localPort: true,
|
|
23
|
+
remotePort: true,
|
|
24
|
+
labelSelector: true
|
|
25
|
+
}).extend({
|
|
26
|
+
id: ProcessConfigSchema.shape.id.refine((id) => id !== '.' && id !== '..')
|
|
27
|
+
});
|
|
28
|
+
const PortForwardProcessInputSchema = z.object({
|
|
29
|
+
id: PortForwardEntrySchema.shape.id,
|
|
30
|
+
config: PortForwardConfigSchema
|
|
31
|
+
});
|
|
32
|
+
const MultiplePortForwardsInputSchema = z.object({
|
|
33
|
+
configs: z.array(PortForwardEntrySchema),
|
|
34
|
+
commonConfig: PortForwardCommonConfigSchema
|
|
35
|
+
});
|
|
36
|
+
/** Both synchronous entrypoints refuse without attaching submitted values or Zod issues. */
|
|
37
|
+
function validatePortForwardInput(schema, input) {
|
|
38
|
+
const result = schema.safeParse(input);
|
|
39
|
+
if (!result.success) {
|
|
40
|
+
throw new CapabilityError('Invalid port-forward configuration.', 'INVALID_INPUT', {
|
|
41
|
+
reason: 'pm-port-forward-input-invalid',
|
|
42
|
+
recoveryHint: 'Use a flat process id, a service DNS label and integer ports from 1 to 65535.'
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return result.data;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a process config for kubectl port-forward
|
|
49
|
+
* Throws INVALID_INPUT / pm-port-forward-input-invalid without submitted values.
|
|
50
|
+
* Import-safe compatibility builder; executable argv is deferred to the selected launch provider.
|
|
51
|
+
*
|
|
52
|
+
* Example usage:
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const postgres = createPortForwardProcess('my-postgres', {
|
|
55
|
+
* namespace: 'production',
|
|
56
|
+
* service: 'postgres',
|
|
57
|
+
* localPort: 5432,
|
|
58
|
+
* remotePort: 5432,
|
|
59
|
+
* context: 'my-cluster'
|
|
60
|
+
* });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export function createPortForwardProcess(id, config) {
|
|
64
|
+
const input = validatePortForwardInput(PortForwardProcessInputSchema, { id, config });
|
|
65
|
+
return buildPortForwardProcess(input.id, input.config);
|
|
66
|
+
}
|
|
67
|
+
/** Construct only from schema-validated inputs; no execution occurs here. */
|
|
68
|
+
function buildPortForwardProcess(id, config) {
|
|
69
|
+
return {
|
|
70
|
+
id,
|
|
71
|
+
name: `Port Forward: ${config.service}`,
|
|
72
|
+
// This label is a declaration preview, never executable vendor argv.
|
|
73
|
+
command: 'port-forward',
|
|
74
|
+
args: [],
|
|
75
|
+
portForward: config,
|
|
76
|
+
metadata: config.labelSelector ? { portForwardSelector: config.labelSelector } : undefined,
|
|
77
|
+
healthCheck: {
|
|
78
|
+
type: 'tcp',
|
|
79
|
+
port: config.localPort,
|
|
80
|
+
interval: 5000,
|
|
81
|
+
timeout: 2000,
|
|
82
|
+
retries: 3,
|
|
83
|
+
// Port-forwards need generous warmup - kubectl may take time to establish connection
|
|
84
|
+
warmupMs: 30000, // 30s warmup before enforcing health checks
|
|
85
|
+
// Longer grace period for port-forwards - K8s connectivity can be flaky
|
|
86
|
+
gracePeriodMultiplier: 8 // 40s (8 * 5s) of failures before killing
|
|
87
|
+
},
|
|
88
|
+
// Keep auto-restart but slow down to avoid churn when targets stay NotReady
|
|
89
|
+
autoRestart: true,
|
|
90
|
+
restartDelay: 5000,
|
|
91
|
+
maxRestarts: 5,
|
|
92
|
+
// Required defaults for ProcessConfig type
|
|
93
|
+
ipc: false,
|
|
94
|
+
dangerouslyDisableRunawayChecks: false,
|
|
95
|
+
runOnce: false,
|
|
96
|
+
retryOnFailure: false,
|
|
97
|
+
maxRetries: 3,
|
|
98
|
+
tags: ['k8s', 'port-forward'],
|
|
99
|
+
scope: 'project'
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create multiple port-forward processes after validating the whole batch.
|
|
104
|
+
* Per-forward selectors override common selectors, including explicit undefined.
|
|
105
|
+
*
|
|
106
|
+
* Example usage:
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const forwards = createMultiplePortForwards([
|
|
109
|
+
* { id: 'postgres', service: 'postgres', localPort: 5432, remotePort: 5432, labelSelector: 'app=postgres' },
|
|
110
|
+
* { id: 'redis', service: 'redis', localPort: 6379, remotePort: 6379, labelSelector: 'app=redis' }
|
|
111
|
+
* ], { namespace: 'production', context: 'my-cluster' });
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export function createMultiplePortForwards(configs, commonConfig = {}) {
|
|
115
|
+
const input = validatePortForwardInput(MultiplePortForwardsInputSchema, { configs, commonConfig });
|
|
116
|
+
return input.configs.map(({ id, ...cfg }) => buildPortForwardProcess(id, {
|
|
117
|
+
...input.commonConfig,
|
|
118
|
+
...cfg
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=kubectl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubectl.js","sourceRoot":"","sources":["../src/kubectl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type PortForwardConfig, type PortForwardPlan } from './schemas/port-forward.ts';
|
|
2
|
+
/** Pure declaration preview; the selected capability prepares the actual launch at execution. */
|
|
3
|
+
export declare function buildPortForwardPlan(config: PortForwardConfig): PortForwardPlan;
|
|
4
|
+
/** Shared construction for inputs already parsed at their public boundary. */
|
|
5
|
+
export declare function constructPortForwardPlan(config: PortForwardConfig): PortForwardPlan;
|
|
6
|
+
//# sourceMappingURL=port-forward-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-command.d.ts","sourceRoot":"","sources":["../src/port-forward-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAElH,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAE/E;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAWnF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PortForwardConfigSchema } from "./schemas/port-forward.js";
|
|
2
|
+
/** Pure declaration preview; the selected capability prepares the actual launch at execution. */
|
|
3
|
+
export function buildPortForwardPlan(config) {
|
|
4
|
+
return constructPortForwardPlan(PortForwardConfigSchema.parse(config));
|
|
5
|
+
}
|
|
6
|
+
/** Shared construction for inputs already parsed at their public boundary. */
|
|
7
|
+
export function constructPortForwardPlan(config) {
|
|
8
|
+
const args = ['port-forward'];
|
|
9
|
+
if (config.namespace)
|
|
10
|
+
args.push('-n', config.namespace);
|
|
11
|
+
if (config.context)
|
|
12
|
+
args.push('--context', config.context);
|
|
13
|
+
if (config.additionalFlags)
|
|
14
|
+
args.push(...config.additionalFlags);
|
|
15
|
+
args.push(`svc/${config.service}`, `${config.localPort}:${config.remotePort}`);
|
|
16
|
+
const readiness = ['wait', '--for=condition=Ready', 'pod', '-l',
|
|
17
|
+
config.labelSelector || `app.kubernetes.io/instance=${config.service}`, '--timeout=30s'];
|
|
18
|
+
if (config.namespace)
|
|
19
|
+
readiness.push('-n', config.namespace);
|
|
20
|
+
if (config.context)
|
|
21
|
+
readiness.push('--context', config.context);
|
|
22
|
+
return { process: { command: 'kubectl', args }, readiness: { command: 'kubectl', args: readiness } };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=port-forward-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-command.js","sourceRoot":"","sources":["../src/port-forward-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAgD,MAAM,2BAA2B,CAAC;AAElH,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC7D,OAAO,wBAAwB,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,wBAAwB,CAAC,MAAyB;IACjE,MAAM,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,eAAe;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,IAAI;QAC9D,MAAM,CAAC,aAAa,IAAI,8BAA8B,MAAM,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,SAAS;QAAE,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,OAAO;QAAE,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,EAAC,OAAO,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAC,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,EAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Read persisted pre-transfer declarations without making PM parse vendor argv. */
|
|
2
|
+
export declare function readPortForwardConfig(command: string, args: string[], labelSelector?: string): {
|
|
3
|
+
service: string;
|
|
4
|
+
localPort: number;
|
|
5
|
+
remotePort: number;
|
|
6
|
+
namespace?: string | undefined;
|
|
7
|
+
context?: string | undefined;
|
|
8
|
+
additionalFlags?: string[] | undefined;
|
|
9
|
+
labelSelector?: string | undefined;
|
|
10
|
+
} | undefined;
|
|
11
|
+
//# sourceMappingURL=port-forward-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-compat.d.ts","sourceRoot":"","sources":["../src/port-forward-compat.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM;;;;;;;;cAgB5F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PortForwardConfigSchema } from "./schemas/port-forward.js";
|
|
2
|
+
/** Read persisted pre-transfer declarations without making PM parse vendor argv. */
|
|
3
|
+
export function readPortForwardConfig(command, args, labelSelector) {
|
|
4
|
+
if (command !== 'kubectl' || args[0] !== 'port-forward')
|
|
5
|
+
return undefined;
|
|
6
|
+
const resourceIndex = args.findIndex(arg => arg.startsWith('svc/'));
|
|
7
|
+
if (resourceIndex < 0)
|
|
8
|
+
return undefined;
|
|
9
|
+
const [localPort, remotePort] = (args[resourceIndex + 1] ?? '').split(':').map(Number);
|
|
10
|
+
const namespaceIndex = args.indexOf('-n');
|
|
11
|
+
const contextIndex = args.indexOf('--context');
|
|
12
|
+
const additionalFlags = args.slice(1, resourceIndex).filter((_, index) => index + 1 !== namespaceIndex && index !== namespaceIndex &&
|
|
13
|
+
index + 1 !== contextIndex && index !== contextIndex);
|
|
14
|
+
return PortForwardConfigSchema.parse({
|
|
15
|
+
service: args[resourceIndex].slice(4), localPort, remotePort, labelSelector,
|
|
16
|
+
namespace: namespaceIndex < 0 ? undefined : args[namespaceIndex + 1],
|
|
17
|
+
context: contextIndex < 0 ? undefined : args[contextIndex + 1],
|
|
18
|
+
additionalFlags
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=port-forward-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-compat.js","sourceRoot":"","sources":["../src/port-forward-compat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,IAAc,EAAE,aAAsB;IAC5F,IAAI,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CACxE,KAAK,GAAG,CAAC,KAAK,cAAc,IAAI,KAAK,KAAK,cAAc;QACxD,KAAK,GAAG,CAAC,KAAK,YAAY,IAAI,KAAK,KAAK,YAAY,CAAC,CAAC;IACvD,OAAO,uBAAuB,CAAC,KAAK,CAAC;QACpC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa;QAC5E,SAAS,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACpE,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC9D,eAAe;KACf,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* kubectl port-forward process identity: token parsing and command-line
|
|
3
|
+
* signature matching. The integration owns the vendor argv grammar; PM
|
|
4
|
+
* resolves these through the `pm/launch-preparation` hooks.
|
|
5
|
+
*/
|
|
6
|
+
/** Process config shape the identity hooks read (PM's config is a loose superset). */
|
|
7
|
+
interface IdentityConfig {
|
|
8
|
+
command?: string;
|
|
9
|
+
args?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read positional forwarding operands only. Options may precede the command,
|
|
13
|
+
* resource or ports; their values never supply listener/signature evidence.
|
|
14
|
+
*/
|
|
15
|
+
export declare function portForwardTokens(args: string[]): string[];
|
|
16
|
+
export declare function extractPortFromPortForwardArgs(args: string[]): number | null;
|
|
17
|
+
export declare function getPortForwardToken(args: string[] | undefined, port: number): string | null;
|
|
18
|
+
/** Is this config a kubectl port-forward declaration? */
|
|
19
|
+
export declare function isPortForwardConfig(config: IdentityConfig): boolean;
|
|
20
|
+
/** Positive signature evidence only; ownership is proved separately. */
|
|
21
|
+
export declare function matchesPortForwardSignature(command: string | null, config: IdentityConfig, port: number): boolean;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=port-forward-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-identity.d.ts","sourceRoot":"","sources":["../src/port-forward-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sFAAsF;AACtF,UAAU,cAAc;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqC1D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAG5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE3F;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAKnE;AAED,wEAAwE;AACxE,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACV,OAAO,CAQT"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* kubectl port-forward process identity: token parsing and command-line
|
|
3
|
+
* signature matching. The integration owns the vendor argv grammar; PM
|
|
4
|
+
* resolves these through the `pm/launch-preparation` hooks.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Read positional forwarding operands only. Options may precede the command,
|
|
8
|
+
* resource or ports; their values never supply listener/signature evidence.
|
|
9
|
+
*/
|
|
10
|
+
export function portForwardTokens(args) {
|
|
11
|
+
const booleanOptions = new Set([
|
|
12
|
+
'--disable-compression', '--insecure-skip-tls-verify',
|
|
13
|
+
'--match-server-version', '--warnings-as-errors', '--help', '-h'
|
|
14
|
+
]);
|
|
15
|
+
const tokens = [];
|
|
16
|
+
let forwarding = false;
|
|
17
|
+
let resourceSeen = false;
|
|
18
|
+
let optionsEnded = false;
|
|
19
|
+
for (let index = 0; index < args.length; index++) {
|
|
20
|
+
const arg = args[index];
|
|
21
|
+
if (!optionsEnded && arg === '--') {
|
|
22
|
+
optionsEnded = true;
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (!optionsEnded && arg.startsWith('-')) {
|
|
26
|
+
if (!arg.includes('=') && !booleanOptions.has(arg) &&
|
|
27
|
+
!(!arg.startsWith('--') && arg.length > 2) &&
|
|
28
|
+
args[index + 1] && !args[index + 1].startsWith('-')) {
|
|
29
|
+
index++;
|
|
30
|
+
}
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
if (!forwarding) {
|
|
34
|
+
forwarding = arg === 'port-forward';
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (!resourceSeen) {
|
|
38
|
+
resourceSeen = true;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (!/^\d+(?::[^:\s]+)?$/.test(arg))
|
|
42
|
+
continue;
|
|
43
|
+
const localPort = Number(arg.split(':')[0]);
|
|
44
|
+
if (localPort >= 1 && localPort <= 65535)
|
|
45
|
+
tokens.push(arg);
|
|
46
|
+
}
|
|
47
|
+
return tokens;
|
|
48
|
+
}
|
|
49
|
+
export function extractPortFromPortForwardArgs(args) {
|
|
50
|
+
const token = portForwardTokens(args)[0];
|
|
51
|
+
return token ? Number(token.split(':')[0]) : null;
|
|
52
|
+
}
|
|
53
|
+
export function getPortForwardToken(args, port) {
|
|
54
|
+
return args ? portForwardTokens(args).find((arg) => Number(arg.split(':')[0]) === port) ?? null : null;
|
|
55
|
+
}
|
|
56
|
+
/** Is this config a kubectl port-forward declaration? */
|
|
57
|
+
export function isPortForwardConfig(config) {
|
|
58
|
+
return (config.command === 'kubectl' &&
|
|
59
|
+
(config.args?.includes('port-forward') ?? false));
|
|
60
|
+
}
|
|
61
|
+
/** Positive signature evidence only; ownership is proved separately. */
|
|
62
|
+
export function matchesPortForwardSignature(command, config, port) {
|
|
63
|
+
if (!command || !isPortForwardConfig(config))
|
|
64
|
+
return false;
|
|
65
|
+
const token = getPortForwardToken(config.args, port);
|
|
66
|
+
if (!token)
|
|
67
|
+
return false;
|
|
68
|
+
const words = command.split(/\s+/);
|
|
69
|
+
const executable = words.findIndex((word) => word === 'kubectl' || word.endsWith('/kubectl'));
|
|
70
|
+
return executable >= 0 && portForwardTokens(words.slice(executable + 1)).includes(token);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=port-forward-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward-identity.js","sourceRoot":"","sources":["../src/port-forward-identity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC9B,uBAAuB,EAAE,4BAA4B;QACrD,wBAAwB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI;KAChE,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACnC,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACV,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjD,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,KAAK,EAAE,CAAC;YACT,CAAC;YACD,SAAS;QACV,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,GAAG,GAAG,KAAK,cAAc,CAAC;YACpC,SAAS;QACV,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACV,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAc;IAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA0B,EAAE,IAAY;IAC3E,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxG,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACzD,OAAO,CACN,MAAM,CAAC,OAAO,KAAK,SAAS;QAC5B,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,CAChD,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CAC1C,OAAsB,EACtB,MAAsB,EACtB,IAAY;IAEZ,IAAI,CAAC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9F,OAAO,UAAU,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.consumer.plugin.d.ts","sourceRoot":"","sources":["../src/port-forward.consumer.plugin.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,2BAA2B,6CAI/B,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRuntimePlugin, loader } from '@vibesdotdev/kernel';
|
|
2
|
+
import kind from "./port-forward.kind.js";
|
|
3
|
+
import descriptor from "./port-forward.descriptor.js";
|
|
4
|
+
// Hoisted: tsc 6.0.3 does not rewrite `.ts` specifiers inside `export default <expr>`.
|
|
5
|
+
const kubernetesPortForwardPlugin = createRuntimePlugin({
|
|
6
|
+
id: 'kubernetes-port-forward', kinds: [kind], descriptors: [descriptor],
|
|
7
|
+
loaders: [loader(descriptor.id, { kind: descriptor.kind, scope: 'consumer' }, () => import("./port-forward.impl.consumer.js"))]
|
|
8
|
+
});
|
|
9
|
+
export default kubernetesPortForwardPlugin;
|
|
10
|
+
//# sourceMappingURL=port-forward.consumer.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.consumer.plugin.js","sourceRoot":"","sources":["../src/port-forward.consumer.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,UAAU,MAAM,8BAA8B,CAAC;AAEtD,uFAAuF;AACvF,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;IACvD,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC;IACvE,OAAO,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAC,EACzE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;CAClD,CAAC,CAAC;AAEH,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type VibesRuntime } from '@vibesdotdev/kernel';
|
|
2
|
+
import { type PortForwardConfig } from './schemas/port-forward.ts';
|
|
3
|
+
export * from './schemas/port-forward.ts';
|
|
4
|
+
export { default as portForwardKind } from './port-forward.kind.ts';
|
|
5
|
+
export { default as portForwardDescriptor } from './port-forward.descriptor.ts';
|
|
6
|
+
export { readPortForwardConfig } from './port-forward-compat.ts';
|
|
7
|
+
export { buildPortForwardPlan } from './port-forward-command.ts';
|
|
8
|
+
export declare function preparePortForward(runtime: VibesRuntime, config: PortForwardConfig): Promise<{
|
|
9
|
+
process: {
|
|
10
|
+
command: string;
|
|
11
|
+
args: string[];
|
|
12
|
+
};
|
|
13
|
+
readiness: {
|
|
14
|
+
command: string;
|
|
15
|
+
args: string[];
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=port-forward.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.d.ts","sourceRoot":"","sources":["../src/port-forward.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAA0D,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC3H,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB;;;;;;;;;GAgBxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.descriptor.d.ts","sourceRoot":"","sources":["../src/port-forward.descriptor.ts"],"names":[],"mappings":";;;;;AACA,wBAAqI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.descriptor.js","sourceRoot":"","sources":["../src/port-forward.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,eAAe,kBAAkB,CAAC,EAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,yBAAyB,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ProcessIdentityInput } from '@vibesdotdev/pm/launch-preparation';
|
|
2
|
+
import type { PortForwardConfig } from './schemas/port-forward.ts';
|
|
3
|
+
/** Local listeners a kubectl port-forward declaration holds. */
|
|
4
|
+
declare function monitoredPorts(config: unknown): number[];
|
|
5
|
+
/** kubectl port-forward process identity: token equality on both command lines. */
|
|
6
|
+
declare function matchesProcessCommand(input: ProcessIdentityInput): boolean;
|
|
7
|
+
declare const _default: import("@vibesdotdev/kernel").RuntimeImplementationWrapper<{
|
|
8
|
+
prepare(config: PortForwardConfig): Promise<{
|
|
9
|
+
process: {
|
|
10
|
+
command: string;
|
|
11
|
+
args: string[];
|
|
12
|
+
};
|
|
13
|
+
readiness: {
|
|
14
|
+
command: string;
|
|
15
|
+
args: string[];
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
monitoredPorts: typeof monitoredPorts;
|
|
19
|
+
matchesProcessCommand: typeof matchesProcessCommand;
|
|
20
|
+
}>;
|
|
21
|
+
export default _default;
|
|
22
|
+
//# sourceMappingURL=port-forward.impl.consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port-forward.impl.consumer.d.ts","sourceRoot":"","sources":["../src/port-forward.impl.consumer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAM/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AASnE,gEAAgE;AAChE,iBAAS,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAIjD;AAED,mFAAmF;AACnF,iBAAS,qBAAqB,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAInE;;oBAKuB,iBAAiB;;;;;;;;;;;;;AAHzC,wBAOG"}
|