@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
64 lines (63 loc) • 2.86 kB
TypeScript
import { BaseCommand } from './base.js';
import { type ArgvStruct } from '../types/aliases.js';
import { type CommandFlags } from '../types/flag-types.js';
export declare class BlockNodeCommand extends BaseCommand {
constructor();
private static readonly ADD_CONFIGS_NAME;
private static readonly DESTROY_CONFIGS_NAME;
private static readonly UPGRADE_CONFIGS_NAME;
private static readonly ADD_EXTERNAL_CONFIGS_NAME;
private static readonly DELETE_CONFIGS_NAME;
private static readonly MIGRATION_COMPONENT_KEY;
static readonly ADD_FLAGS_LIST: CommandFlags;
static readonly ADD_EXTERNAL_FLAGS_LIST: CommandFlags;
static readonly DELETE_EXTERNAL_FLAGS_LIST: CommandFlags;
static readonly DESTROY_FLAGS_LIST: CommandFlags;
static readonly UPGRADE_FLAGS_LIST: CommandFlags;
private prepareValuesArgForBlockNode;
private static appendExtraCommandArgs;
private getReleaseName;
private renderReleaseName;
private updateConsensusNodesInRemoteConfig;
private updateConsensusNodesPostGenesis;
private updateConsensusNodesPostGenesisForExternal;
private handleConsensusNodeUpdating;
private updateConsensusNodesInRemoteConfigForExternalBlockNode;
private handleConsensusNodeUpdatingForExternalBlockNode;
add(argv: ArgvStruct): Promise<boolean>;
destroy(argv: ArgvStruct): Promise<boolean>;
upgrade(argv: ArgvStruct): Promise<boolean>;
addExternal(argv: ArgvStruct): Promise<boolean>;
deleteExternal(argv: ArgvStruct): Promise<boolean>;
private rebuildBlockNodesJsonForConsensusNodes;
/**
* Gives the port used for liveness check based on the chart version and image tag (if set)
*/
private getLivenessCheckPortNumber;
private updateBlockNodeVersionInRemoteConfig;
private buildBlockNodeUpgradeMigrationPlan;
private isImmutableStatefulSetError;
private recreateBlockNodeChart;
/**
* Polls until no pods with the block-node label exist in the namespace.
* Used before re-installing the chart so the new StatefulSet pod is not blocked
* by a terminating predecessor.
*/
private waitForBlockNodePodsDeleted;
/** Adds the block node component to remote config. */
private addBlockNodeComponent;
/** Adds the block node component to remote config. */
private addExternalBlockNodeComponent;
/** Adds the block node component to remote config. */
private removeBlockNodeComponentFromRemoteConfig;
/** Adds the block node component to remote config. */
private removeExternalBlockNodeComponent;
private displayHealthCheckData;
private checkBlockNodeReadiness;
close(): Promise<void>;
private inferBlockNodeId;
private inferExternalBlockNodeId;
private checkIfLegacyChartIsInstalled;
private inferDestroyData;
}
export default BlockNodeCommand;