@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
39 lines (38 loc) • 2.16 kB
TypeScript
import { RemoteConfigValidatorApi } from './api/remote-config-validator-api.js';
import { DeploymentStateSchema } from '../../../data/schema/model/remote/deployment-state-schema.js';
import { NamespaceName } from '../../../types/namespace/namespace-name.js';
import { type BaseStateSchema } from '../../../data/schema/model/remote/state/base-state-schema.js';
import { type LocalConfigRuntimeState } from '../../../business/runtime-state/config/local/local-config-runtime-state.js';
import { type ChartManager } from '../../chart-manager.js';
import { type ComponentId } from '../../../types/index.js';
import { type K8Factory } from '../../../integration/kube/k8-factory.js';
/**
* Static class is used to validate that components in the remote config
* are present in the kubernetes cluster, and throw errors if there is mismatch.
*/
export declare class RemoteConfigValidator implements RemoteConfigValidatorApi {
private readonly k8Factory?;
private readonly localConfig?;
private readonly chartManager?;
constructor(k8Factory?: K8Factory, localConfig?: LocalConfigRuntimeState, chartManager?: ChartManager);
private static consensusNodeSkipConditionCallback;
private static componentSkipConditionCallback;
static componentValidationsMapping: Record<string, {
getLabelsCallback: (id: ComponentId, legacyReleaseName?: string) => string[];
displayName: string;
skipCondition?: (component: BaseStateSchema) => boolean;
legacyReleaseName?: string;
}>;
validateComponents(namespace: NamespaceName, skipConsensusNodes: boolean, state: Readonly<DeploymentStateSchema>): Promise<void>;
private validateComponentGroup;
/**
* Generic handler that throws errors.
*
* @param displayName - name to display in error message
* @param component - component which is not found in the cluster
* @param error - original error for the kube client
* @param labels - labels used to find the component
*/
private static buildValidationError;
static buildValidationErrorMessage(displayName: string, component: BaseStateSchema, labels?: string[]): string;
}