@kadi.build/deploy-ability 0.0.3 → 0.0.5
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/targets/akash/bids.d.ts +183 -0
- package/dist/targets/akash/bids.d.ts.map +1 -0
- package/dist/targets/akash/bids.js +247 -0
- package/dist/targets/akash/bids.js.map +1 -0
- package/dist/targets/akash/certificate-manager.d.ts +89 -167
- package/dist/targets/akash/certificate-manager.d.ts.map +1 -1
- package/dist/targets/akash/certificate-manager.js +193 -301
- package/dist/targets/akash/certificate-manager.js.map +1 -1
- package/dist/targets/akash/client.d.ts +644 -0
- package/dist/targets/akash/client.d.ts.map +1 -0
- package/dist/targets/akash/client.js +972 -0
- package/dist/targets/akash/client.js.map +1 -0
- package/dist/targets/akash/constants.d.ts +12 -149
- package/dist/targets/akash/constants.d.ts.map +1 -1
- package/dist/targets/akash/constants.js +14 -136
- package/dist/targets/akash/constants.js.map +1 -1
- package/dist/targets/akash/deployer.d.ts +3 -82
- package/dist/targets/akash/deployer.d.ts.map +1 -1
- package/dist/targets/akash/deployer.js +122 -160
- package/dist/targets/akash/deployer.js.map +1 -1
- package/dist/targets/akash/environment.d.ts +16 -214
- package/dist/targets/akash/environment.d.ts.map +1 -1
- package/dist/targets/akash/environment.js +20 -210
- package/dist/targets/akash/environment.js.map +1 -1
- package/dist/targets/akash/index.d.ts +95 -189
- package/dist/targets/akash/index.d.ts.map +1 -1
- package/dist/targets/akash/index.js +69 -197
- package/dist/targets/akash/index.js.map +1 -1
- package/dist/targets/akash/lease-monitor.d.ts +3 -21
- package/dist/targets/akash/lease-monitor.d.ts.map +1 -1
- package/dist/targets/akash/lease-monitor.js +39 -56
- package/dist/targets/akash/lease-monitor.js.map +1 -1
- package/dist/targets/akash/logs.d.ts +103 -4
- package/dist/targets/akash/logs.d.ts.map +1 -1
- package/dist/targets/akash/logs.js +12 -3
- package/dist/targets/akash/logs.js.map +1 -1
- package/dist/targets/akash/pricing.d.ts +12 -191
- package/dist/targets/akash/pricing.d.ts.map +1 -1
- package/dist/targets/akash/pricing.js +12 -188
- package/dist/targets/akash/pricing.js.map +1 -1
- package/dist/targets/akash/provider-manager.d.ts +120 -0
- package/dist/targets/akash/provider-manager.d.ts.map +1 -0
- package/dist/targets/akash/provider-manager.js +574 -0
- package/dist/targets/akash/provider-manager.js.map +1 -0
- package/dist/targets/akash/sdl-generator.d.ts +2 -2
- package/dist/targets/akash/sdl-generator.d.ts.map +1 -1
- package/dist/targets/akash/sdl-generator.js +6 -39
- package/dist/targets/akash/sdl-generator.js.map +1 -1
- package/dist/targets/akash/types.d.ts +66 -243
- package/dist/targets/akash/types.d.ts.map +1 -1
- package/dist/targets/akash/types.js +4 -41
- package/dist/targets/akash/types.js.map +1 -1
- package/dist/targets/akash/wallet-manager.d.ts +35 -352
- package/dist/targets/akash/wallet-manager.d.ts.map +1 -1
- package/dist/targets/akash/wallet-manager.js +37 -439
- package/dist/targets/akash/wallet-manager.js.map +1 -1
- package/dist/targets/local/compose-generator.d.ts.map +1 -1
- package/dist/targets/local/compose-generator.js +1 -0
- package/dist/targets/local/compose-generator.js.map +1 -1
- package/dist/targets/local/deployer.js +4 -4
- package/dist/targets/local/deployer.js.map +1 -1
- package/dist/targets/local/types.d.ts +4 -0
- package/dist/targets/local/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/options.d.ts +45 -4
- package/dist/types/options.d.ts.map +1 -1
- package/dist/utils/registry/manager.js +6 -6
- package/dist/utils/registry/manager.js.map +1 -1
- package/dist/utils/registry/setup.js +4 -4
- package/dist/utils/registry/setup.js.map +1 -1
- package/docs/KADI_ABILITY_CONVERSION.md +1365 -0
- package/docs/PIPELINE_BUILDER_DESIGN.md +1149 -0
- package/package.json +8 -11
- package/dist/targets/akash/bid-selectors.d.ts +0 -251
- package/dist/targets/akash/bid-selectors.d.ts.map +0 -1
- package/dist/targets/akash/bid-selectors.js +0 -322
- package/dist/targets/akash/bid-selectors.js.map +0 -1
- package/dist/targets/akash/bid-types.d.ts +0 -297
- package/dist/targets/akash/bid-types.d.ts.map +0 -1
- package/dist/targets/akash/bid-types.js +0 -89
- package/dist/targets/akash/bid-types.js.map +0 -1
- package/dist/targets/akash/blockchain-client.d.ts +0 -577
- package/dist/targets/akash/blockchain-client.d.ts.map +0 -1
- package/dist/targets/akash/blockchain-client.js +0 -803
- package/dist/targets/akash/blockchain-client.js.map +0 -1
- package/dist/targets/akash/logs.types.d.ts +0 -102
- package/dist/targets/akash/logs.types.d.ts.map +0 -1
- package/dist/targets/akash/logs.types.js +0 -9
- package/dist/targets/akash/logs.types.js.map +0 -1
- package/dist/targets/akash/provider-client.d.ts +0 -114
- package/dist/targets/akash/provider-client.d.ts.map +0 -1
- package/dist/targets/akash/provider-client.js +0 -318
- package/dist/targets/akash/provider-client.js.map +0 -1
- package/dist/targets/akash/provider-metadata.d.ts +0 -228
- package/dist/targets/akash/provider-metadata.d.ts.map +0 -1
- package/dist/targets/akash/provider-metadata.js +0 -14
- package/dist/targets/akash/provider-metadata.js.map +0 -1
- package/dist/targets/akash/provider-service.d.ts +0 -133
- package/dist/targets/akash/provider-service.d.ts.map +0 -1
- package/dist/targets/akash/provider-service.js +0 -391
- package/dist/targets/akash/provider-service.js.map +0 -1
- package/dist/targets/akash/query-client.d.ts +0 -125
- package/dist/targets/akash/query-client.d.ts.map +0 -1
- package/dist/targets/akash/query-client.js +0 -332
- package/dist/targets/akash/query-client.js.map +0 -1
- package/docs/EXAMPLES.md +0 -293
- package/docs/PLACEMENT.md +0 -433
- package/docs/STORAGE.md +0 -318
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockchain-client.js","sourceRoot":"","sources":["../../../src/targets/akash/blockchain-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Akash Deployment Log Streaming Types
|
|
3
|
-
*
|
|
4
|
-
* Provides type-safe interfaces for streaming container logs from Akash deployments.
|
|
5
|
-
*
|
|
6
|
-
* @module targets/akash/logs.types
|
|
7
|
-
*/
|
|
8
|
-
import type { EventEmitter } from 'node:events';
|
|
9
|
-
import type { AkashDeploymentData } from '../../types/index.js';
|
|
10
|
-
import type { WalletContext } from './types.js';
|
|
11
|
-
import type { AkashProviderTlsCertificate } from './types.js';
|
|
12
|
-
import type { Network } from '../../types/common.js';
|
|
13
|
-
/**
|
|
14
|
-
* Options for streaming deployment logs
|
|
15
|
-
*/
|
|
16
|
-
export interface StreamLogsOptions {
|
|
17
|
-
/** Deployment data returned from deployToAkash() */
|
|
18
|
-
readonly deployment: AkashDeploymentData;
|
|
19
|
-
/** Wallet context (for provider address verification) */
|
|
20
|
-
readonly wallet: WalletContext;
|
|
21
|
-
/** Akash certificate (for mTLS authentication) */
|
|
22
|
-
readonly certificate: AkashProviderTlsCertificate;
|
|
23
|
-
/** Network (mainnet or testnet) */
|
|
24
|
-
readonly network: Network;
|
|
25
|
-
/** Optional: Filter logs by service names (default: all services) */
|
|
26
|
-
readonly services?: readonly string[];
|
|
27
|
-
/** Keep connection open and stream new logs (default: true) */
|
|
28
|
-
readonly follow?: boolean;
|
|
29
|
-
/** Show last N lines before streaming (default: 100) */
|
|
30
|
-
readonly tail?: number;
|
|
31
|
-
/** Optional: Custom logger for debugging */
|
|
32
|
-
readonly logger?: {
|
|
33
|
-
readonly debug?: (msg: string) => void;
|
|
34
|
-
readonly warn?: (msg: string) => void;
|
|
35
|
-
readonly error?: (msg: string) => void;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Options for getting logs as an array (non-streaming)
|
|
40
|
-
*/
|
|
41
|
-
export interface GetLogsOptions extends Omit<StreamLogsOptions, 'follow'> {
|
|
42
|
-
/** Maximum logs to retrieve (default: 1000) */
|
|
43
|
-
readonly maxLogs?: number;
|
|
44
|
-
/** Timeout in milliseconds (default: 30000) */
|
|
45
|
-
readonly timeout?: number;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Parsed log entry from Akash provider
|
|
49
|
-
*/
|
|
50
|
-
export interface LogEntry {
|
|
51
|
-
/** Service name (e.g., "ollama", "vllm") */
|
|
52
|
-
readonly service: string;
|
|
53
|
-
/** Log message content */
|
|
54
|
-
readonly message: string;
|
|
55
|
-
/** Raw log data from provider */
|
|
56
|
-
readonly raw: {
|
|
57
|
-
/** Full service name with replica suffix */
|
|
58
|
-
readonly name: string;
|
|
59
|
-
/** Original message before parsing */
|
|
60
|
-
readonly message: string;
|
|
61
|
-
/** ISO timestamp from provider */
|
|
62
|
-
readonly timestamp?: string;
|
|
63
|
-
};
|
|
64
|
-
/** When this log was received by deploy-ability */
|
|
65
|
-
readonly receivedAt: Date;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Log stream emitter
|
|
69
|
-
*
|
|
70
|
-
* Events:
|
|
71
|
-
* - 'log': Emitted for each log line
|
|
72
|
-
* - 'connected': WebSocket connection established
|
|
73
|
-
* - 'error': Connection or parsing error
|
|
74
|
-
* - 'end': Stream ended (natural or via close())
|
|
75
|
-
*/
|
|
76
|
-
export interface LogStream extends EventEmitter {
|
|
77
|
-
/** Close the stream and disconnect */
|
|
78
|
-
close(): void;
|
|
79
|
-
/** Check if stream is currently connected */
|
|
80
|
-
isConnected(): boolean;
|
|
81
|
-
on(event: 'log', listener: (log: LogEntry) => void): this;
|
|
82
|
-
on(event: 'connected', listener: () => void): this;
|
|
83
|
-
on(event: 'error', listener: (error: Error) => void): this;
|
|
84
|
-
on(event: 'end', listener: () => void): this;
|
|
85
|
-
once(event: 'log', listener: (log: LogEntry) => void): this;
|
|
86
|
-
once(event: 'connected', listener: () => void): this;
|
|
87
|
-
once(event: 'error', listener: (error: Error) => void): this;
|
|
88
|
-
once(event: 'end', listener: () => void): this;
|
|
89
|
-
off(event: 'log', listener: (log: LogEntry) => void): this;
|
|
90
|
-
off(event: 'connected', listener: () => void): this;
|
|
91
|
-
off(event: 'error', listener: (error: Error) => void): this;
|
|
92
|
-
off(event: 'end', listener: () => void): this;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Internal raw log message from Akash provider
|
|
96
|
-
*/
|
|
97
|
-
export interface RawProviderLogMessage {
|
|
98
|
-
readonly name: string;
|
|
99
|
-
readonly message: string;
|
|
100
|
-
readonly timestamp?: string;
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=logs.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.types.d.ts","sourceRoot":"","sources":["../../../src/targets/akash/logs.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.types.js","sourceRoot":"","sources":["../../../src/targets/akash/logs.types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Akash Provider Client Utilities
|
|
3
|
-
*
|
|
4
|
-
* This module contains helper functions for interacting with Akash providers
|
|
5
|
-
* over HTTPS after a lease has been created on-chain. Responsibilities include:
|
|
6
|
-
*
|
|
7
|
-
* 1. Delivering the deployment manifest to the selected provider via mTLS
|
|
8
|
-
* 2. Querying provider status endpoints to monitor container readiness
|
|
9
|
-
*
|
|
10
|
-
* Design principles:
|
|
11
|
-
* - All operations return Result<T, DeploymentError> for explicit error handling
|
|
12
|
-
* - No `any` usage – every response is normalised into typed objects
|
|
13
|
-
* - Verbose comments explaining each stage for maintainability
|
|
14
|
-
*
|
|
15
|
-
* @module targets/akash/provider-client
|
|
16
|
-
*/
|
|
17
|
-
import type { Result } from '../../types/index.js';
|
|
18
|
-
import { ProviderError } from '../../errors/index.js';
|
|
19
|
-
import type { AkashProviderTlsCertificate } from './types.js';
|
|
20
|
-
/**
|
|
21
|
-
* Minimal lease identifier required for provider API operations
|
|
22
|
-
*/
|
|
23
|
-
export interface LeaseReference {
|
|
24
|
-
/** Deployment sequence number */
|
|
25
|
-
readonly dseq: string | number;
|
|
26
|
-
/** Group sequence number */
|
|
27
|
-
readonly gseq: number;
|
|
28
|
-
/** Order sequence number */
|
|
29
|
-
readonly oseq: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Options for manifest delivery
|
|
33
|
-
*/
|
|
34
|
-
export interface ManifestDeliveryOptions {
|
|
35
|
-
/** Provider HTTPS endpoint (e.g., https://provider.example.com:8443) */
|
|
36
|
-
readonly providerUri: string;
|
|
37
|
-
/** Lease reference identifying the deployment */
|
|
38
|
-
readonly lease: LeaseReference;
|
|
39
|
-
/** SDL manifest encoded as JSON (sorted output from akashjs) */
|
|
40
|
-
readonly manifest: string;
|
|
41
|
-
/** Certificate bundle for mutual TLS authentication */
|
|
42
|
-
readonly certificate: AkashProviderTlsCertificate;
|
|
43
|
-
/** Request timeout in milliseconds (default: 30s) */
|
|
44
|
-
readonly timeoutMs?: number;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Status information for a single service reported by the provider
|
|
48
|
-
*/
|
|
49
|
-
export interface ProviderServiceStatus {
|
|
50
|
-
readonly name: string;
|
|
51
|
-
readonly available: number;
|
|
52
|
-
readonly total: number;
|
|
53
|
-
readonly ready: number;
|
|
54
|
-
readonly uris: readonly string[];
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Forwarded port definition (useful when provider maps ports externally)
|
|
58
|
-
*/
|
|
59
|
-
export interface ProviderForwardedPort {
|
|
60
|
-
readonly port: number;
|
|
61
|
-
readonly externalPort: number;
|
|
62
|
-
readonly host: string;
|
|
63
|
-
readonly available: number;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Assigned IP metadata reported by provider
|
|
67
|
-
*/
|
|
68
|
-
export interface ProviderAssignedIp {
|
|
69
|
-
readonly ip: string;
|
|
70
|
-
readonly port: number;
|
|
71
|
-
readonly externalPort: number;
|
|
72
|
-
readonly protocol: string;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Normalised provider lease status response
|
|
76
|
-
*/
|
|
77
|
-
export interface ProviderLeaseStatus {
|
|
78
|
-
readonly services: Readonly<Record<string, ProviderServiceStatus>>;
|
|
79
|
-
readonly forwardedPorts?: Readonly<Record<string, readonly ProviderForwardedPort[]>>;
|
|
80
|
-
readonly assignedIps?: Readonly<Record<string, readonly ProviderAssignedIp[]>>;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Options for querying provider container status
|
|
84
|
-
*/
|
|
85
|
-
export interface ProviderStatusOptions {
|
|
86
|
-
readonly providerUri: string;
|
|
87
|
-
readonly lease: LeaseReference;
|
|
88
|
-
readonly certificate: AkashProviderTlsCertificate;
|
|
89
|
-
readonly timeoutMs?: number;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Sends the deployment manifest to the provider over mTLS.
|
|
93
|
-
*
|
|
94
|
-
* The provider uses this manifest to start containers for the newly created lease.
|
|
95
|
-
* The workflow mirrors the steps outlined in the Akash Console deployment flow.
|
|
96
|
-
*
|
|
97
|
-
* Steps performed:
|
|
98
|
-
* 1. Validate and normalise the provider URI (must be HTTPS)
|
|
99
|
-
* 2. Construct the manifest delivery path `/deployment/{dseq}/manifest`
|
|
100
|
-
* 3. Send a PUT request with the manifest JSON using mutual TLS authentication
|
|
101
|
-
* 4. Resolve with a success Result when the provider accepts the manifest
|
|
102
|
-
*
|
|
103
|
-
* @param options - Manifest delivery configuration
|
|
104
|
-
* @returns Result signalling success or a ProviderError on failure
|
|
105
|
-
*/
|
|
106
|
-
export declare function sendManifestToProvider(options: ManifestDeliveryOptions): Promise<Result<void, ProviderError>>;
|
|
107
|
-
/**
|
|
108
|
-
* Queries the provider status endpoint for container readiness information.
|
|
109
|
-
*
|
|
110
|
-
* @param options - Provider status request configuration
|
|
111
|
-
* @returns Result containing normalised provider status data
|
|
112
|
-
*/
|
|
113
|
-
export declare function fetchProviderLeaseStatus(options: ProviderStatusOptions): Promise<Result<ProviderLeaseStatus, ProviderError>>;
|
|
114
|
-
//# sourceMappingURL=provider-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-client.d.ts","sourceRoot":"","sources":["../../../src/targets/akash/provider-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EACL,aAAa,EAId,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,qDAAqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC,CAAC,CAAC;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAC;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAyCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CA4FtC;AAmKD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAmDrD"}
|
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Akash Provider Client Utilities
|
|
3
|
-
*
|
|
4
|
-
* This module contains helper functions for interacting with Akash providers
|
|
5
|
-
* over HTTPS after a lease has been created on-chain. Responsibilities include:
|
|
6
|
-
*
|
|
7
|
-
* 1. Delivering the deployment manifest to the selected provider via mTLS
|
|
8
|
-
* 2. Querying provider status endpoints to monitor container readiness
|
|
9
|
-
*
|
|
10
|
-
* Design principles:
|
|
11
|
-
* - All operations return Result<T, DeploymentError> for explicit error handling
|
|
12
|
-
* - No `any` usage – every response is normalised into typed objects
|
|
13
|
-
* - Verbose comments explaining each stage for maintainability
|
|
14
|
-
*
|
|
15
|
-
* @module targets/akash/provider-client
|
|
16
|
-
*/
|
|
17
|
-
import https from 'node:https';
|
|
18
|
-
import { URL } from 'node:url';
|
|
19
|
-
import axios from 'axios';
|
|
20
|
-
import { success, failure } from '../../types/index.js';
|
|
21
|
-
import { ProviderError, ProviderErrorCodes, providerUnreachableError, manifestRejectedError, } from '../../errors/index.js';
|
|
22
|
-
/**
|
|
23
|
-
* Normalises a provider URI string and ensures it uses HTTPS.
|
|
24
|
-
*/
|
|
25
|
-
function normaliseProviderUri(uri) {
|
|
26
|
-
const parsed = new URL(uri);
|
|
27
|
-
if (parsed.protocol !== 'https:') {
|
|
28
|
-
throw new ProviderError(`Provider URI must use HTTPS: ${uri}`, ProviderErrorCodes.PROVIDER_ERROR, { uri }, false, 'Ensure the provider URI begins with https://');
|
|
29
|
-
}
|
|
30
|
-
// Force trailing slash removal for consistent downstream concatenation
|
|
31
|
-
parsed.pathname = parsed.pathname.replace(/\/$/, '');
|
|
32
|
-
return parsed.toString();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Builds the HTTPS agent used for mutual TLS authentication with the provider.
|
|
36
|
-
*
|
|
37
|
-
* CRITICAL: Sets servername to empty string to disable SNI (Server Name Indication).
|
|
38
|
-
* Some providers use SNI to route requests, and when SNI contains a hostname, they
|
|
39
|
-
* route mTLS requests to a non-mTLS handler that returns 401 "unauthorized access".
|
|
40
|
-
* This matches Akash Console behavior and is required for compatibility with all providers.
|
|
41
|
-
*/
|
|
42
|
-
function createMtlsAgent(certificate) {
|
|
43
|
-
return new https.Agent({
|
|
44
|
-
cert: certificate.cert,
|
|
45
|
-
key: certificate.privateKey,
|
|
46
|
-
ca: certificate.chain,
|
|
47
|
-
rejectUnauthorized: false, // Providers often use self-signed certificates
|
|
48
|
-
servername: '', // Disable SNI for mTLS authentication (required by some providers)
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Sends the deployment manifest to the provider over mTLS.
|
|
53
|
-
*
|
|
54
|
-
* The provider uses this manifest to start containers for the newly created lease.
|
|
55
|
-
* The workflow mirrors the steps outlined in the Akash Console deployment flow.
|
|
56
|
-
*
|
|
57
|
-
* Steps performed:
|
|
58
|
-
* 1. Validate and normalise the provider URI (must be HTTPS)
|
|
59
|
-
* 2. Construct the manifest delivery path `/deployment/{dseq}/manifest`
|
|
60
|
-
* 3. Send a PUT request with the manifest JSON using mutual TLS authentication
|
|
61
|
-
* 4. Resolve with a success Result when the provider accepts the manifest
|
|
62
|
-
*
|
|
63
|
-
* @param options - Manifest delivery configuration
|
|
64
|
-
* @returns Result signalling success or a ProviderError on failure
|
|
65
|
-
*/
|
|
66
|
-
export async function sendManifestToProvider(options) {
|
|
67
|
-
const { providerUri, lease, manifest, certificate, timeoutMs = 30_000, } = options;
|
|
68
|
-
let normalised;
|
|
69
|
-
try {
|
|
70
|
-
normalised = normaliseProviderUri(providerUri);
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
return failure(error);
|
|
74
|
-
}
|
|
75
|
-
const parsed = new URL(normalised);
|
|
76
|
-
const path = `/deployment/${String(lease.dseq)}/manifest`;
|
|
77
|
-
const agent = createMtlsAgent(certificate);
|
|
78
|
-
return new Promise((resolve) => {
|
|
79
|
-
const request = https.request({
|
|
80
|
-
protocol: parsed.protocol,
|
|
81
|
-
hostname: parsed.hostname,
|
|
82
|
-
port: parsed.port || '8443',
|
|
83
|
-
method: 'PUT',
|
|
84
|
-
path,
|
|
85
|
-
headers: {
|
|
86
|
-
'Content-Type': 'application/json',
|
|
87
|
-
Accept: 'application/json',
|
|
88
|
-
'Content-Length': Buffer.byteLength(manifest, 'utf8'),
|
|
89
|
-
},
|
|
90
|
-
agent,
|
|
91
|
-
timeout: timeoutMs,
|
|
92
|
-
}, (response) => {
|
|
93
|
-
const statusCode = response.statusCode ?? 0;
|
|
94
|
-
// Fast-path success: provider accepted the manifest (200/202)
|
|
95
|
-
if (statusCode >= 200 && statusCode < 300) {
|
|
96
|
-
resolve(success(undefined));
|
|
97
|
-
response.resume();
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
// Collect error body for diagnostics
|
|
101
|
-
const chunks = [];
|
|
102
|
-
response.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
103
|
-
response.on('end', () => {
|
|
104
|
-
const body = Buffer.concat(chunks).toString('utf8');
|
|
105
|
-
if (statusCode === 400 || statusCode === 422) {
|
|
106
|
-
resolve(failure(manifestRejectedError(parsed.hostname, body.trim() || undefined)));
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
resolve(failure(new ProviderError(`Provider returned ${statusCode} while sending manifest`, ProviderErrorCodes.MANIFEST_SEND_FAILED, {
|
|
110
|
-
providerUri: normalised,
|
|
111
|
-
statusCode,
|
|
112
|
-
body: body.trim() || undefined,
|
|
113
|
-
}, true, 'Retry the deployment or choose another provider')));
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
request.on('timeout', () => {
|
|
118
|
-
request.destroy(providerUnreachableError(parsed.host, new Error('Manifest delivery timed out')));
|
|
119
|
-
});
|
|
120
|
-
request.on('error', (error) => {
|
|
121
|
-
// Network errors are wrapped as provider unreachable for caller clarity
|
|
122
|
-
resolve(failure(providerUnreachableError(parsed.host, error)));
|
|
123
|
-
});
|
|
124
|
-
request.write(manifest, 'utf8');
|
|
125
|
-
request.end();
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Builds the provider lease status endpoint URL.
|
|
130
|
-
*/
|
|
131
|
-
function buildLeaseStatusUrl(providerUri, lease) {
|
|
132
|
-
const base = new URL(providerUri);
|
|
133
|
-
base.pathname = `/lease/${String(lease.dseq)}/${lease.gseq}/${lease.oseq}/status`;
|
|
134
|
-
return base.toString();
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Normalises provider service status objects returned by the provider API.
|
|
138
|
-
*/
|
|
139
|
-
function normaliseServices(rawServices) {
|
|
140
|
-
if (!rawServices) {
|
|
141
|
-
return {};
|
|
142
|
-
}
|
|
143
|
-
const entries = [];
|
|
144
|
-
for (const [name, raw] of Object.entries(rawServices)) {
|
|
145
|
-
if (!raw || typeof raw !== 'object') {
|
|
146
|
-
continue;
|
|
147
|
-
}
|
|
148
|
-
const record = raw;
|
|
149
|
-
const available = normaliseNumber(record.available ?? record.available_replicas, 0);
|
|
150
|
-
const total = normaliseNumber(record.total ?? record.replicas, 0);
|
|
151
|
-
const ready = normaliseNumber(record.ready_replicas, available);
|
|
152
|
-
const uris = Array.isArray(record.uris)
|
|
153
|
-
? record.uris.filter((uri) => typeof uri === 'string')
|
|
154
|
-
: [];
|
|
155
|
-
entries.push([
|
|
156
|
-
name,
|
|
157
|
-
{
|
|
158
|
-
name,
|
|
159
|
-
available,
|
|
160
|
-
total,
|
|
161
|
-
ready,
|
|
162
|
-
uris,
|
|
163
|
-
},
|
|
164
|
-
]);
|
|
165
|
-
}
|
|
166
|
-
return Object.freeze(Object.fromEntries(entries));
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Normalises forwarded ports section of provider response.
|
|
170
|
-
*/
|
|
171
|
-
function normaliseForwardedPorts(raw) {
|
|
172
|
-
if (!raw) {
|
|
173
|
-
return undefined;
|
|
174
|
-
}
|
|
175
|
-
const entries = [];
|
|
176
|
-
for (const [service, value] of Object.entries(raw)) {
|
|
177
|
-
if (!Array.isArray(value)) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
const ports = value
|
|
181
|
-
.map((item) => {
|
|
182
|
-
if (!item || typeof item !== 'object') {
|
|
183
|
-
return null;
|
|
184
|
-
}
|
|
185
|
-
const record = item;
|
|
186
|
-
const port = normaliseNumber(record.port, 0);
|
|
187
|
-
const externalPort = normaliseNumber(record.externalPort, port);
|
|
188
|
-
const host = typeof record.host === 'string' ? record.host : '';
|
|
189
|
-
const available = normaliseNumber(record.available, 0);
|
|
190
|
-
if (!host) {
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
port,
|
|
195
|
-
externalPort,
|
|
196
|
-
host,
|
|
197
|
-
available,
|
|
198
|
-
};
|
|
199
|
-
})
|
|
200
|
-
.filter((value) => value !== null);
|
|
201
|
-
if (ports.length > 0) {
|
|
202
|
-
entries.push([service, Object.freeze(ports)]);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return entries.length > 0 ? Object.freeze(Object.fromEntries(entries)) : undefined;
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Normalises assigned IPs section of provider response.
|
|
209
|
-
*/
|
|
210
|
-
function normaliseAssignedIps(raw) {
|
|
211
|
-
if (!raw) {
|
|
212
|
-
return undefined;
|
|
213
|
-
}
|
|
214
|
-
const entries = [];
|
|
215
|
-
for (const [service, value] of Object.entries(raw)) {
|
|
216
|
-
if (!Array.isArray(value)) {
|
|
217
|
-
continue;
|
|
218
|
-
}
|
|
219
|
-
const ips = value
|
|
220
|
-
.map((item) => {
|
|
221
|
-
if (!item || typeof item !== 'object') {
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
const record = item;
|
|
225
|
-
const ip = typeof record.IP === 'string' ? record.IP : undefined;
|
|
226
|
-
if (!ip) {
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
return {
|
|
230
|
-
ip,
|
|
231
|
-
port: normaliseNumber(record.Port, 0),
|
|
232
|
-
externalPort: normaliseNumber(record.ExternalPort, 0),
|
|
233
|
-
protocol: typeof record.Protocol === 'string' ? record.Protocol : 'TCP',
|
|
234
|
-
};
|
|
235
|
-
})
|
|
236
|
-
.filter((value) => value !== null);
|
|
237
|
-
if (ips.length > 0) {
|
|
238
|
-
entries.push([service, Object.freeze(ips)]);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
return entries.length > 0 ? Object.freeze(Object.fromEntries(entries)) : undefined;
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Converts various number representations into a safe integer with fallback.
|
|
245
|
-
*/
|
|
246
|
-
function normaliseNumber(value, fallback) {
|
|
247
|
-
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
248
|
-
return value;
|
|
249
|
-
}
|
|
250
|
-
if (typeof value === 'string') {
|
|
251
|
-
const parsed = Number.parseInt(value, 10);
|
|
252
|
-
if (Number.isFinite(parsed)) {
|
|
253
|
-
return parsed;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return fallback;
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Queries the provider status endpoint for container readiness information.
|
|
260
|
-
*
|
|
261
|
-
* @param options - Provider status request configuration
|
|
262
|
-
* @returns Result containing normalised provider status data
|
|
263
|
-
*/
|
|
264
|
-
export async function fetchProviderLeaseStatus(options) {
|
|
265
|
-
const { providerUri, lease, certificate, timeoutMs = 10_000 } = options;
|
|
266
|
-
let normalised;
|
|
267
|
-
try {
|
|
268
|
-
normalised = normaliseProviderUri(providerUri);
|
|
269
|
-
}
|
|
270
|
-
catch (error) {
|
|
271
|
-
return failure(error);
|
|
272
|
-
}
|
|
273
|
-
const statusUrl = buildLeaseStatusUrl(normalised, lease);
|
|
274
|
-
try {
|
|
275
|
-
const response = await axios.get(statusUrl, {
|
|
276
|
-
httpsAgent: createMtlsAgent(certificate),
|
|
277
|
-
timeout: timeoutMs,
|
|
278
|
-
headers: { Accept: 'application/json' },
|
|
279
|
-
transitional: { clarifyTimeoutError: true },
|
|
280
|
-
});
|
|
281
|
-
const data = response.data;
|
|
282
|
-
const services = normaliseServices(data?.services);
|
|
283
|
-
const forwardedPorts = normaliseForwardedPorts(data?.forwarded_ports);
|
|
284
|
-
const assignedIps = normaliseAssignedIps(data?.ips);
|
|
285
|
-
return success(Object.freeze({
|
|
286
|
-
services,
|
|
287
|
-
forwardedPorts,
|
|
288
|
-
assignedIps,
|
|
289
|
-
}));
|
|
290
|
-
}
|
|
291
|
-
catch (error) {
|
|
292
|
-
// Axios wraps network errors into AxiosError, inspect to categorise
|
|
293
|
-
if (axios.isAxiosError(error)) {
|
|
294
|
-
return failure(handleAxiosError(error, normalised));
|
|
295
|
-
}
|
|
296
|
-
return failure(new ProviderError(`Failed to query provider status: ${error.message}`, ProviderErrorCodes.PROVIDER_STATUS_ERROR, { providerUri: normalised }, true, 'Retry in a few moments – providers may need time to start the deployment'));
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Maps Axios errors to ProviderError instances with helpful context.
|
|
301
|
-
*/
|
|
302
|
-
function handleAxiosError(error, providerUri) {
|
|
303
|
-
if (error.code === 'ECONNREFUSED' || error.code === 'ENOTFOUND') {
|
|
304
|
-
return providerUnreachableError(providerUri, error);
|
|
305
|
-
}
|
|
306
|
-
if (error.code === 'ETIMEDOUT' || error.message.includes('timeout')) {
|
|
307
|
-
return new ProviderError(`Provider ${providerUri} did not respond in time`, ProviderErrorCodes.PROVIDER_TIMEOUT, { providerUri }, true, 'The provider may be busy. Consider retrying the request.');
|
|
308
|
-
}
|
|
309
|
-
if (error.response) {
|
|
310
|
-
const status = error.response.status;
|
|
311
|
-
const body = typeof error.response.data === 'string'
|
|
312
|
-
? error.response.data
|
|
313
|
-
: JSON.stringify(error.response.data);
|
|
314
|
-
return new ProviderError(`Provider ${providerUri} returned ${status} when querying status`, ProviderErrorCodes.PROVIDER_STATUS_ERROR, { providerUri, statusCode: status, body }, true, 'Inspect the provider logs or retry with a different provider');
|
|
315
|
-
}
|
|
316
|
-
return new ProviderError(`Unknown provider error: ${error.message}`, ProviderErrorCodes.PROVIDER_STATUS_ERROR, { providerUri }, true, 'Retry the request or choose another provider', 'error', error);
|
|
317
|
-
}
|
|
318
|
-
//# sourceMappingURL=provider-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-client.js","sourceRoot":"","sources":["../../../src/targets/akash/provider-client.ts"],"names":[],"mappings":"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"}
|