UNPKG

@hashgraph/solo

Version:

An opinionated CLI tool to deploy and manage private Hedera Networks.

92 lines (91 loc) 3.43 kB
import { type AccountManager } from '../core/account-manager.js'; import { BaseCommand } from './base.js'; import { type ArgvStruct, type NodeAliases } from '../types/aliases.js'; import { type ClusterReferenceName, type ComponentId, NamespaceNameAsString, type Optional, type SoloListrTask } from '../types/index.js'; import { NamespaceName } from '../types/namespace/namespace-name.js'; import { type RelayNodeStateSchema } from '../data/schema/model/remote/state/relay-node-state-schema.js'; import { type CommandFlags } from '../types/flag-types.js'; interface RelayDestroyConfigClass { chartDirectory: string; namespace: NamespaceName; deployment: string; nodeAliases: NodeAliases; releaseName: string; isChartInstalled: boolean; clusterRef: Optional<ClusterReferenceName>; context: Optional<string>; id: number; isLegacyChartInstalled: boolean; } interface RelayDestroyContext { config: RelayDestroyConfigClass; } interface RelayDeployConfigClass { chainId: string; chartDirectory: string; relayChartDirectory: string; namespace: NamespaceName; deployment: string; nodeAliasesUnparsed: string; operatorId: string; operatorKey: string; relayReleaseTag: string; componentImage: string; replicaCount: number; valuesFile: string; isChartInstalled: boolean; nodeAliases: NodeAliases; releaseName: string; valuesArg: string; clusterRef: Optional<ClusterReferenceName>; domainName: Optional<string>; context: Optional<string>; newRelayComponent: RelayNodeStateSchema; id: ComponentId; forcePortForward: Optional<boolean>; cacheDir: Optional<string>; isLegacyChartInstalled: false; mirrorNodeId: ComponentId; mirrorNamespace: NamespaceNameAsString; mirrorNodeReleaseName: string; isMirrorNodeLegacyChartInstalled: boolean; } interface RelayDeployContext { config: RelayDeployConfigClass; } export declare class RelayCommand extends BaseCommand { private readonly accountManager; constructor(accountManager: AccountManager); private static readonly DEPLOY_CONFIGS_NAME; private static readonly UPGRADE_CONFIGS_NAME; static readonly DEPLOY_FLAGS_LIST: CommandFlags; static readonly UPGRADE_FLAGS_LIST: CommandFlags; static readonly DESTROY_FLAGS_LIST: CommandFlags; private prepareValuesArgForRelay; /** * created a JSON string to represent the map between the node keys and their ids * output example '{"node-1": "0.0.3", "node-2": "0.004"}' */ private prepareNetworkJsonString; private getReleaseName; private renderReleaseName; private prepareLegacyReleaseName; private checkChartIsInstalledTask; private prepareChartValuesTask; private deployJsonRpcRelayTask; private checkRelayIsRunningTask; private checkRelayIsReadyTask; private enablePortForwardingTask; add(argv: ArgvStruct): Promise<boolean>; upgrade(argv: ArgvStruct): Promise<boolean>; destroy(argv: ArgvStruct): Promise<boolean>; /** Adds the relay component to remote config. */ addRelayComponent(): SoloListrTask<RelayDeployContext>; /** Remove the relay component from remote config. */ disableRelayComponent(): SoloListrTask<RelayDestroyContext>; close(): Promise<void>; private checkIfLegacyChartIsInstalled; private inferRelayId; private inferRelayData; } export {};