UNPKG

@chimoney.io/iaas-k8s-deployment

Version:

Kubernetes Infrastructure as a Service deployment package for streamlined multi-cloud environments

88 lines 2.49 kB
export declare enum PlanTier { BASIC = "basic", STANDARD = "standard", PREMIUM = "premium", ENTERPRISE = "enterprise" } export interface ResourceAllocation { cpu: string; memory: string; storage: string; replicas: number; } export interface ServiceResourceAllocation { rafikiAuth: ResourceAllocation; rafikiBackend: ResourceAllocation; nginx: ResourceAllocation; redis: ResourceAllocation; } export interface TierResourceAllocation { tier: PlanTier; displayName: string; description: string; monthlyPriceUSD: number; maxNamespaces: number; maxPersistentVolumeClaims: number; networkPoliciesEnabled: boolean; services: ServiceResourceAllocation; quota: { requests: { cpu: string; memory: string; storage: string; }; limits: { cpu: string; memory: string; storage: string; }; pods: number; services: number; secrets: number; configmaps: number; persistentvolumeclaims: number; }; } export interface KubecostConfig { enabled: boolean; namespace: string; currency: string; billingAccountId?: string; costAllocationLabels: string[]; alertingEnabled: boolean; budgetAlerts: { enabled: boolean; thresholds: number[]; }; } export interface TierConfiguration { planTier: PlanTier; resourceAllocation: TierResourceAllocation; kubecostConfig?: KubecostConfig; billingMetadata?: { customerId: string; subscriptionId: string; billingCycle: "monthly" | "annual"; }; } export declare const PLAN_TIER_DEFINITIONS: Record<PlanTier, TierResourceAllocation>; export declare const DEFAULT_KUBECOST_CONFIG: KubecostConfig; export declare function validateTierConfiguration(config: TierConfiguration): string[]; export declare function getTierConfiguration(tier: PlanTier): TierConfiguration; export declare function calculateTierCosts(tier: PlanTier, usageDays?: number): { baseCost: number; estimatedResourceCost: number; totalEstimatedCost: number; }; export declare function compareTiers(currentTier: PlanTier, targetTier: PlanTier): { isUpgrade: boolean; isDowngrade: boolean; resourceDelta: { cpu: string; memory: string; storage: string; replicas: number; }; costDelta: number; }; //# sourceMappingURL=plans.d.ts.map