optimization-as-code
densify-dev/optimization-as-code/null
Module to integrate Terraform with Densify machine learning to enable cloud and container workloads to be self-optimizing
Densify This module is the interface between Densify machine learning analytics and Terraform templates. It enables two operations: - auto-tagging of cloud instances and containers based on Densify’s optimization analysis (making them “self-aware”) - automated optimization of instance families/sizes, and container resource requests/limits (making them “self-optimizing”) This integration is based on densify.auto.tfvars, which is automatically generated by Densify and contains operational intelligence, analysis findings, and optimization recommendations for each cloud instance or container in scope. This module unpacks data from this structure, making it available to Terraform as variables, enabling precise specification of resources to optimally match the learned patterns of behavior. The r
| Name | Type | Description | Default |
|---|---|---|---|
| densify_recommendations | map(map(string)) | Map of maps generated from the Densify Terraform Forwarder. Contains all of the | required |
| densify_unique_id | string | Unique ID that both Terraform and Densify can use to track the systems. | required |
| densify_fallback | map(string) | Fallback map of settings that are used for new infrastructure or systems that ar | required |
cpu_request — The CPU request to be implemented, which is either the current CPU request or the Densify recommendacurrent_desired_capacity — The current desired number of instances running in the ASG grouppower_state — The power state of the instancerecommended_type — Densify recommended instance size and familysavings_estimate — The potential monthly savings from modifying the current instance to the Densify recommended instancinstance_type — The instance size and family to be implemented, which is either the current size or the Densify recomem_request — The memory request to be implemented, which is either the current memory request or the Densify recocluster — The name of the cluster with the running containerpredicted_uptime — The predicted percentage of CPU utilization hours over the duration of a monthrecommended_cpu_request — Recommended CPU request for the Kubernetes containermin_group_recommended — The recommended minimum group size of the ASGmax_group_recommended — The recommended maximum group size of the ASGcurrent_cpu_request — Current CPU request for the Kubernetes containerpolicy — The policy that is used in the analysisavg_inst_count_recommended — The predicted average number of instances running in the ASG if the recommendations are implementednamespace — The namespace of the running containercontainer — The name of the containeravg_inst_count_current — The current average number of instances running in the ASGcurrent_type — Current instance size and familycurrent_mem_limit — Current memory limit for the Kubernetes containermin_group_current — The current minimum group size of the ASGmax_group_current — The current maximum group size of the ASGmin_group — The minimum group size to be implemented, which is either the current minimum group size or the Densdesired_capacity — The desired capacity to be implemented, which is either the current desired capacity or the recommenpod_service — The pod or service name of the running container. If the container is running in a single pod, then controller_type — The type of controllerdefer_recommendation — Defer recommending an instance type change until reserved instance coverage for this instance expiredefer_until — If deferRecommendation = yes, then the expiry date of the RI providing coverage for the current instimplementation_method — Is the system configured to allow automation or manual recommendationscurrent_cpu_limit — Current CPU limit for the Kubernetes container