@starship-ci/generator
Version:
Kubernetes manifest generator for Starship deployments
49 lines (48 loc) • 1.51 kB
TypeScript
import { Relayer, StarshipConfig } from '@starship-ci/types';
import { Container, EnvVar, Volume, VolumeMount } from 'kubernetesjs';
import { IGenerator, Manifest } from '../../types';
/**
* Base class for relayer builders with common functionality
*/
export declare class BaseRelayerBuilder implements IGenerator {
protected config: StarshipConfig;
protected relayer: Relayer;
protected generators: IGenerator[];
constructor(relayer: Relayer, config: StarshipConfig);
/**
* Generate all manifests for the relayer by running sub-generators
*/
generate(): Manifest[];
/**
* Generate common metadata for relayer resources
*/
protected getCommonMetadata(resourceType: string): any;
/**
* Get chain configuration by ID
*/
protected getChainConfig(chainId: string): import("@starship-ci/types").Chain;
/**
* Get chain hostname
*/
protected getChainHostname(chainId: string): string;
/**
* Get image for relayer (custom or default)
*/
protected getImage(): string;
/**
* Generate common volumes for relayers
*/
protected generateVolumes(): Volume[];
/**
* Generate common environment variables
*/
protected generateCommonEnv(): EnvVar[];
/**
* Generate wait init containers for all chains
*/
protected generateWaitInitContainers(): Container[];
/**
* Generate common volume mounts
*/
protected generateCommonVolumeMounts(): VolumeMount[];
}