@aerocorp/cli
Version:
AeroCorp CLI 5.1.0 - Future-Proofed Enterprise Infrastructure with Live Preview, Tunneling & Advanced DevOps
105 lines • 2.65 kB
TypeScript
/**
* 🔮 GitOps Manager - Infrastructure as Code & Declarative Deployments
* Future-proofed for 2030 with advanced GitOps capabilities
*/
export interface GitOpsConfig {
repository: string;
branch: string;
path: string;
syncPolicy: 'automatic' | 'manual';
pruning: boolean;
selfHeal: boolean;
}
export interface ArgoApplication {
apiVersion: string;
kind: string;
metadata: {
name: string;
namespace: string;
labels?: Record<string, string>;
annotations?: Record<string, string>;
};
spec: {
project: string;
source: {
repoURL: string;
targetRevision: string;
path: string;
helm?: any;
};
destination: {
server: string;
namespace: string;
};
syncPolicy?: {
automated?: {
prune: boolean;
selfHeal: boolean;
};
syncOptions?: string[];
};
};
}
export interface FluxConfig {
apiVersion: string;
kind: string;
metadata: {
name: string;
namespace: string;
};
spec: {
interval: string;
sourceRef: {
kind: string;
name: string;
};
path: string;
prune: boolean;
validation: string;
};
}
export declare class GitOpsManager {
private configService;
constructor();
/**
* 🔮 Initialize GitOps for a project
*/
initializeGitOps(projectName: string, options?: any): Promise<void>;
/**
* 🏗️ Generate ArgoCD Application manifest
*/
generateArgoApplication(projectName: string, options?: any): ArgoApplication;
/**
* 🌊 Generate Flux Kustomization manifest
*/
generateFluxConfig(projectName: string, options?: any): FluxConfig;
/**
* 📋 Generate base Kubernetes manifests
*/
generateBaseManifests(projectName: string, outputDir: string, options?: any): Promise<void>;
/**
* 🚀 Generate Deployment manifest
*/
private generateDeploymentManifest;
/**
* 🌐 Generate Service manifest
*/
private generateServiceManifest;
/**
* 🌍 Generate Ingress manifest
*/
private generateIngressManifest;
/**
* 📊 Generate HPA manifest
*/
private generateHPAManifest;
/**
* 🔄 Sync GitOps configuration
*/
syncGitOps(projectName: string): Promise<void>;
/**
* 📊 Get GitOps status
*/
getGitOpsStatus(projectName: string): Promise<any>;
}
//# sourceMappingURL=gitops-manager.d.ts.map