UNPKG

@lbrlabs/pulumi-eks

Version:

This repo provides a [multi-language](https://www.pulumi.com/blog/pulumiup-pulumi-packages-multi-language-components/) component that creates a "batteries included" cluster ready for you to attach your EKS nodes to.

101 lines (100 loc) 3.18 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; /** * Configuration for Autoscaled Node budgets. */ export interface BudgetConfigArgs { /** * The duration during which disruptuon can happen. */ duration?: pulumi.Input<string>; /** * The maximum number of nodes that can be scaled down at any time. */ nodes?: pulumi.Input<string>; /** * A cron schedule for when disruption can happen. */ schedule?: pulumi.Input<string>; } /** * Configuration for Autoscaled nodes disruption. */ export interface DisruptionConfigArgs { /** * Budgets control the speed Karpenter can scale down nodes. */ budgets?: pulumi.Input<pulumi.Input<inputs.BudgetConfigArgs>[]>; /** * The amount of time Karpenter should wait after discovering a consolidation decision. This value can currently only be set when the consolidationPolicy is 'WhenEmpty'. You can choose to disable consolidation entirely by setting the string value 'Never' here. */ consolidateAfter?: pulumi.Input<string>; /** * Describes which types of Nodes Karpenter should consider for consolidation. */ consolidationPolicy?: pulumi.Input<string>; /** * The amount of time a Node can live on the cluster before being removed. */ expireAfter?: pulumi.Input<string>; } /** * disruptionConfigArgsProvideDefaults sets the appropriate defaults for DisruptionConfigArgs */ export declare function disruptionConfigArgsProvideDefaults(val: DisruptionConfigArgs): DisruptionConfigArgs; /** * Configuration for the ingress controller. */ export interface IngressConfigArgs { /** * Additional configuration for the ingress controller. */ additionalConfig?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Whether to allow snippet annotations in the ingress controller. */ allowSnippetAnnotations?: pulumi.Input<boolean>; /** * The number of replicas of the ingress controller. */ controllerReplicas?: pulumi.Input<number>; /** * Enable metrics for the ingress controller. */ enableMetrics?: pulumi.Input<boolean>; /** * Enable the service monitor for kube-prometheus-stackl. */ enableServiceMonitor?: pulumi.Input<boolean>; /** * NLB target type for NLB loadbalancers. */ nlbTargetType?: pulumi.Input<string>; /** * The namespace to deploy the service monitor to. */ serviceMonitorNamespace?: pulumi.Input<string>; } /** * ingressConfigArgsProvideDefaults sets the appropriate defaults for IngressConfigArgs */ export declare function ingressConfigArgsProvideDefaults(val: IngressConfigArgs): IngressConfigArgs; /** * Represents a single requirement with key, operator, and values. */ export interface RequirementArgs { /** * The key of the requirement. */ key?: pulumi.Input<string>; /** * The operator for the requirement (e.g., In, Gt). */ operator?: pulumi.Input<string>; /** * The list of values for the requirement. */ values?: pulumi.Input<pulumi.Input<string>[]>; }