kubricate
Version:
A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.
31 lines • 1.37 kB
TypeScript
import { type BaseLogger } from '@kubricate/core';
import type { GlobalConfigOptions } from '../internal/types.js';
import { type Subcommand } from '../internal/utils.js';
import { SecretsOrchestrator } from '../secret/index.js';
import type { KubricateConfig } from '../types.js';
interface InitializeOptions<CommandOptions> {
subject: Subcommand;
commandOptions: CommandOptions;
processConfig?: (config: KubricateConfig, commandOptions: CommandOptions, logger: BaseLogger) => BaseLogger;
}
export declare class ConfigLoader {
protected options: GlobalConfigOptions;
protected logger: BaseLogger;
constructor(options: GlobalConfigOptions, logger: BaseLogger);
/**
* Initialize everything needed to run the command
*/
initialize<CommandOptions extends Record<string, unknown>>(options: InitializeOptions<CommandOptions>): Promise<{
config: KubricateConfig;
orchestrator: SecretsOrchestrator;
}>;
showVersion(): void;
setLogger(logger: BaseLogger): void;
protected injectLogger(config: KubricateConfig): void;
private validateStackId;
protected handleDeprecatedOptions(config: KubricateConfig | undefined): KubricateConfig;
load(): Promise<KubricateConfig>;
prepare(config: KubricateConfig): Promise<SecretsOrchestrator>;
}
export {};
//# sourceMappingURL=ConfigLoader.d.ts.map