@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
TypeScript
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>[]>;
}