UNPKG

@hashgraph/solo

Version:

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

59 lines (47 loc) 2.98 kB
// SPDX-License-Identifier: Apache-2.0 import { type ClusterReferenceName, type ComponentId, type PortForwardConfig, type PriorityMapping, } from '../../../../types/index.js'; import {type NodeId} from '../../../../types/aliases.js'; import {type NamespaceName} from '../../../../types/namespace/namespace-name.js'; import {type DeploymentPhase} from '../../../../data/schema/model/remote/deployment-phase.js'; import {type ExplorerStateSchema} from '../../../../data/schema/model/remote/state/explorer-state-schema.js'; import {type MirrorNodeStateSchema} from '../../../../data/schema/model/remote/state/mirror-node-state-schema.js'; import {type HaProxyStateSchema} from '../../../../data/schema/model/remote/state/ha-proxy-state-schema.js'; import {type EnvoyProxyStateSchema} from '../../../../data/schema/model/remote/state/envoy-proxy-state-schema.js'; import {type ConsensusNodeStateSchema} from '../../../../data/schema/model/remote/state/consensus-node-state-schema.js'; import {type RelayNodeStateSchema} from '../../../../data/schema/model/remote/state/relay-node-state-schema.js'; import {type BlockNodeStateSchema} from '../../../../data/schema/model/remote/state/block-node-state-schema.js'; import {type PostgresStateSchema} from '../../../../data/schema/model/remote/state/postgres-state-schema.js'; import {type RedisStateSchema} from '../../../../data/schema/model/remote/state/redis-state-schema.js'; export interface ComponentFactoryApi { createNewRelayComponent( clusterReference: ClusterReferenceName, namespace: NamespaceName, nodeIds: NodeId[], ): RelayNodeStateSchema; createNewExplorerComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): ExplorerStateSchema; createNewMirrorNodeComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): MirrorNodeStateSchema; createNewHaProxyComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): HaProxyStateSchema; createNewEnvoyProxyComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): EnvoyProxyStateSchema; createNewBlockNodeComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): BlockNodeStateSchema; createNewConsensusNodeComponent( id: ComponentId, clusterReference: ClusterReferenceName, namespace: NamespaceName, phase: DeploymentPhase.REQUESTED | DeploymentPhase.STARTED, portForwardConfigs?: PortForwardConfig[], blockNodeMap?: PriorityMapping[], externalBlockNodeIds?: PriorityMapping[], ): ConsensusNodeStateSchema; createConsensusNodeComponentsFromNodeIds( nodeIds: NodeId[], clusterReference: ClusterReferenceName, namespace: NamespaceName, ): ConsensusNodeStateSchema[]; createNewPostgresComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): PostgresStateSchema; createNewRedisComponent(clusterReference: ClusterReferenceName, namespace: NamespaceName): RedisStateSchema; }