@starship-ci/generator
Version:
Kubernetes manifest generator for Starship deployments
60 lines (59 loc) • 1.96 kB
TypeScript
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>;
}