@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
37 lines (36 loc) • 1.95 kB
TypeScript
import { type SoloLogger } from './logging/solo-logger.js';
import { type NamespaceName } from '../types/namespace/namespace-name.js';
import { type HelmClient } from '../integration/helm/helm-client.js';
export declare class ChartManager {
private readonly helm?;
private readonly logger?;
constructor(helm?: HelmClient, logger?: SoloLogger);
/**
* Setup chart repositories
*
* This must be invoked before calling other methods
*
* @param repoURLs - a map of name and chart repository URLs
* @param force - whether or not to update the repo
* @returns the urls
*/
setup(repoURLs?: Map<string, string>, force?: boolean): Promise<string[]>;
/**
* Check if the required chart repositories are set up
*
* @param repoURLs - a map of name and chart repository URLs
* @returns true if all repos are set up, false otherwise
*/
isSetup(repoURLs?: Map<string, string>): Promise<boolean>;
addRepo(name: string, url: string, force: boolean): Promise<string>;
/** List available clusters
*
* @param namespaceName - the namespace name
* @param kubeContext - the kube context
*/
getInstalledCharts(namespaceName: NamespaceName, kubeContext?: string): Promise<string[]>;
install(namespaceName: NamespaceName, chartReleaseName: string, chartName: string, repoName: string, version: string, valuesArgument: string, kubeContext: string, atomic?: boolean, waitFor?: boolean): Promise<boolean>;
isChartInstalled(namespaceName: NamespaceName, chartReleaseName: string, kubeContext?: string): Promise<boolean>;
uninstall(namespaceName: NamespaceName, chartReleaseName: string, kubeContext?: string): Promise<boolean>;
upgrade(namespaceName: NamespaceName, chartReleaseName: string, chartName: string, repoName: string, version?: string, valuesArgument?: string, kubeContext?: string, reuseValues?: boolean): Promise<boolean>;
}