@starship-ci/generator
Version:
Kubernetes manifest generator for Starship deployments
69 lines (47 loc) ⢠1.97 kB
Markdown
Kubernetes manifest generator for Starship deployments.
This package provides utilities to generate Kubernetes YAML manifests from Starship configurations, enabling programmatic creation and customization of Kubernetes resources before deployment.
```sh
npm install @starship-ci/generator
```
```typescript
import { KubernetesGenerator } from '@starship-ci/generator';
import { StarshipConfig } from '@starship-ci/types';
const config: StarshipConfig = {
// your starship configuration
};
const generator = new KubernetesGenerator(config);
// Generate all manifests
const manifests = await generator.generateAll();
// Generate specific resource types
const deployments = await generator.generateDeployments();
const services = await generator.generateServices();
const configMaps = await generator.generateConfigMaps();
// Write manifests to files
await generator.writeManifests('./k8s-manifests');
```
- **YAML Generation**: Convert Starship configs to Kubernetes manifests
- **Resource Types**: Support for Deployments, Services, ConfigMaps, and more
- **Customizable**: Programmatically modify resources before deployment
- **Type Safe**: Built with TypeScript using `@starship-ci/types`
- **Validation**: Validate generated manifests against Kubernetes schemas
- Deployments
- Services
- ConfigMaps
- Secrets
- Ingress
- PersistentVolumeClaims
- ServiceAccounts
- RBAC (Roles, RoleBindings)
This package is part of the Starship v2 architecture migration from Helm to KubernetesJS. It enables:
- **YAML Inspection**: Review generated manifests before deployment
- **Programmatic Control**: Modify resources via code instead of templates
- **Better Debugging**: Clear visibility into what will be deployed
š Built by the [Constructive](https://constructive.io) team ā makers of [Hyperweb](https://hyperweb.io)