@starship-ci/generator
Version:
Kubernetes manifest generator for Starship deployments
37 lines (36 loc) • 1.19 kB
TypeScript
import { Chain, Explorer, Exposer, FaucetConfig, Images, Ingress, Monitoring, Registry, Relayer, Resources, Script, StarshipConfig, TimeoutConfig } from '@starship-ci/types';
import { ConfigMap, Deployment, Service, StatefulSet } from 'kubernetesjs';
export type Manifest = ConfigMap | Service | Deployment | StatefulSet | Ingress | any;
export interface GeneratorContext {
config: StarshipConfig;
namespace?: string;
version?: string;
}
export interface CometmockDefault {
image: string;
}
export interface DefaultsConfig {
defaultChains: Record<string, Chain>;
defaultFaucet: Record<string, FaucetConfig>;
defaultRelayers: Record<string, Relayer>;
defaultScripts: Record<string, Script>;
defaultCometmock: CometmockDefault;
images?: Images;
resources?: {
node: Resources;
wait: Resources;
};
exposer?: Exposer;
timeouts?: TimeoutConfig;
explorer?: Explorer;
registry?: Registry;
faucet?: FaucetConfig;
monitoring?: Monitoring;
ingress?: Ingress;
}
export interface IGenerator {
generate(): Array<Manifest>;
}
export interface GeneratorConfig extends StarshipConfig {
configDir?: string;
}