UNPKG

@starship-ci/generator

Version:

Kubernetes manifest generator for Starship deployments

60 lines (59 loc) 1.96 kB
import { StarshipConfig } from '@starship-ci/types'; import { ConfigMap, Deployment, Service } from 'kubernetesjs'; import { IGenerator, Manifest } from '../types'; /** * Prometheus generators for monitoring * Based on the Helm template: monitoring/prometheus.yaml */ export declare class PrometheusConfigMapGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<ConfigMap>; private generatePrometheusConfig; } export declare class PrometheusRbacGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<Manifest>; } export declare class PrometheusServiceGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<Service>; } export declare class PrometheusDeploymentGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<Deployment>; } /** * Grafana generators for monitoring * Based on the Helm template: monitoring/grafana.yaml */ export declare class GrafanaConfigMapGenerator implements IGenerator { private config; private projectRoot; constructor(config: StarshipConfig, projectRoot?: string); private loadGrafanaDashboards; generate(): Array<ConfigMap>; } export declare class GrafanaServiceGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<Manifest>; } export declare class GrafanaDeploymentGenerator implements IGenerator { private config; constructor(config: StarshipConfig); generate(): Array<Manifest>; } /** * Main Monitoring builder * Orchestrates Prometheus and Grafana generation */ export declare class MonitoringBuilder implements IGenerator { private config; private generators; constructor(config: StarshipConfig, projectRoot?: string); generate(): Array<Manifest>; }