-
Notifications
You must be signed in to change notification settings - Fork 0
add eks auto mode 0.3 version #332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
vishnukv-facets
wants to merge
105
commits into
master
Choose a base branch
from
eks_auto
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
105 commits
Select commit
Hold shift + click to select a range
7cf6ce0
add eks auto mode 0.3 version
vishnukv-facets 0295068
add sample
vishnukv-facets e9e86b8
add AWS cloud support in facets.yaml
vishnukv-facets 44f5d12
Update output type in facets.yaml to specify aws_eks
vishnukv-facets 6f2888a
Add AWS EKS output facets configuration
vishnukv-facets 910bf27
Refactor EKS storage class parameters to use merge function for dynam…
vishnukv-facets ada2d0d
Refactor EKS storage class parameters to simplify tag specification b…
vishnukv-facets dd08247
Update Kubernetes and Network facets to standardize output types and …
vishnukv-facets 9882968
Add VPC outputs configuration in output.facets.yaml
vishnukv-facets 4d371b7
Rename EKS storage class from "eks-auto-mode-gp3" to "eks-auto-mode-g…
vishnukv-facets 1676b6a
Enhance EKS module by adding cluster_service_ipv4_cidr local variable…
vishnukv-facets fd24cca
Update EKS facets.yaml to enhance configuration options by adding enu…
vishnukv-facets dbcaa74
Remove enum definitions for log types in EKS facets.yaml to streamlin…
vishnukv-facets fb136b9
Refactor EKS node pool configurations in facets.yaml and locals.tf to…
vishnukv-facets f69bab1
Update EKS facets.yaml to require 'cluster' instead of 'kubernetes_ve…
vishnukv-facets c954780
Remove unused provider configuration for AWS in EKS module main.tf, s…
vishnukv-facets 32159c9
Update EKS module source path in main.tf for improved clarity and con…
vishnukv-facets c7fa9ad
Update EKS module source path in main.tf to use relative path for imp…
vishnukv-facets c02ba88
delete
vishnukv-facets adaab55
Refactor EKS module by restructuring the source path and introducing …
vishnukv-facets ea0d9bd
Refactor EKS module variables to remove auto_mode and replace node gr…
vishnukv-facets 6e7c99f
add kms
vishnukv-facets 160ff12
fix
vishnukv-facets af46d44
Add KMS module with comprehensive key management resources and output…
vishnukv-facets e7d561a
Remove version attribute from KMS module in EKS configuration for com…
vishnukv-facets f64fa30
fix
vishnukv-facets 2bed5c6
Add dependencies on EKS cluster data for default and dedicated node p…
vishnukv-facets 579105b
remove versions
vishnukv-facets 55c6577
Refactor EKS node pool configurations in main.tf to standardize forma…
vishnukv-facets 50a6dfb
fix
vishnukv-facets 3a6de27
fix
vishnukv-facets c2c03ac
fix
vishnukv-facets 13d74dd
fix
vishnukv-facets 542a7ff
fix
vishnukv-facets 765dd82
fix
vishnukv-facets 6f23fa3
Update EKS configurations to use provider "aws593" in launch template…
vishnukv-facets 826d66c
Update EKS resources to consistently use provider "aws593" across acc…
vishnukv-facets c82ffcf
Remove unnecessary whitespace in locals.tf and add provider "aws593" …
vishnukv-facets e05b8e2
Update EKS subnet configuration to use k8s_subnets and comment out na…
vishnukv-facets 1749c80
Add legacy outputs to EKS module for enhanced configuration details
vishnukv-facets 181f33d
Update legacy_outputs in EKS module to use an empty list for registry…
vishnukv-facets 5673eb7
Refactor EKS module to replace cluster_id references with cluster_nam…
vishnukv-facets 639da02
Add cluster_compute_config to EKS module for enhanced node pool confi…
vishnukv-facets 4f9962f
Refactor EKS module to standardize naming conventions for cluster and…
vishnukv-facets d7d052e
Refactor EKS module to simplify locals.tf by removing interpolation s…
vishnukv-facets 97c7155
fix
vishnukv-facets 5075930
Refactor EKS module to update node pool data references for improved …
vishnukv-facets 5c327fd
Add consolidation configuration to disruption settings in EKS module …
vishnukv-facets f1a7e09
Update EKS module to standardize naming conventions for default and d…
vishnukv-facets d1eb621
Standardize disruption configuration in EKS module locals.tf by corre…
vishnukv-facets 0f1ea9a
fix
vishnukv-facets bbd23ed
Enhance EKS module by updating default and dedicated node pool config…
vishnukv-facets 2940def
Update EKS module to standardize naming conventions for node pools by…
vishnukv-facets 887ca42
Add Kubernetes credentials backend and priority class to EKS module, …
vishnukv-facets f821d4e
Update EKS module to reference the correct cluster endpoint in the cr…
vishnukv-facets 7e630e8
Standardize capacity type values in EKS module to lowercase and updat…
vishnukv-facets 00a555d
Update EKS module to conditionally enable default node pool based on …
vishnukv-facets 9337090
Refactor EKS module by updating node pool naming from 'nodepools' to …
vishnukv-facets f9c3ec4
fix
vishnukv-facets 3061947
Update EKS module to reference the first availability zone in locals.…
vishnukv-facets 8f1aacd
Add AWS593 facet to cloud account module with role assumption attribu…
vishnukv-facets 5690779
Fix value assignment in locals.tf by wrapping the first availability …
vishnukv-facets 2c6140c
Add cluster addons configuration in locals.tf for snapshot-controller…
vishnukv-facets 8fbddeb
Add EKS module support for dynamic cluster addons configuration in lo…
vishnukv-facets 823abd4
Update EKS module to use cluster_name instead of cluster_id for addon…
vishnukv-facets 9ab35f7
Enhance EKS addon resource dependencies by including cluster data sou…
vishnukv-facets 8b7d82c
Update EKS module to include 'general-purpose' in node_pools configur…
vishnukv-facets 5eddc32
Add ALB and IngressClass modules to EKS configuration in alb.tf, and …
vishnukv-facets ef720e5
Update ALB IngressClass module in alb.tf to include advanced configur…
vishnukv-facets 537b6a0
Refactor ALB IngressClass data reference in alb.tf to improve clarity…
vishnukv-facets 991f017
fix
vishnukv-facets a6b5b8c
revert
vishnukv-facets 57896a8
Update dependencies in secrets.tf to reference kubernetes_service_acc…
vishnukv-facets 17600c5
Refactor EKS provider configuration in providers.tf to utilize data s…
vishnukv-facets 7fe6666
Add dependencies to EKS cluster data sources in providers.tf for impr…
vishnukv-facets be53eb2
Refactor ALB and IngressClass module names in alb.tf for consistency …
vishnukv-facets a47d6ef
Enhance EKS module dependencies in main.tf and secrets.tf for improve…
vishnukv-facets edc577d
Refactor provider configurations in providers.tf to replace exec auth…
vishnukv-facets 1b54434
fix
vishnukv-facets 9ab8130
refactor
vishnukv-facets 606e29c
Enhance EKS module by adding cluster variable for configuration and u…
vishnukv-facets 0b11f96
Refactor cluster variable type in EKS module from object to any for i…
vishnukv-facets ec8cb55
Add cc_metadata variable to EKS module for enhanced configuration opt…
vishnukv-facets 4e96292
Add k8s_subnets variable to EKS module for improved subnet configurat…
vishnukv-facets 07f9f33
Remove deprecated secrets.tf file and update main.tf to include EKS c…
vishnukv-facets cda30bb
Remove unnecessary whitespace in main.tf and simplify dependencies in…
vishnukv-facets efa119c
Enhance EKS module by adding secret-copier Helm release configuration…
vishnukv-facets 979ebd4
Add EKS module name configuration and update dependencies for improve…
vishnukv-facets 440d3b9
Refactor EKS module to use vpc_id and k8s_subnets variables for impro…
vishnukv-facets ef28c3d
Update EKS module to replace references from cluster_name to cluster_…
vishnukv-facets 9fd33ac
Update EKS module to standardize authentication attribute references …
vishnukv-facets 6938997
fix
vishnukv-facets 5824ec5
fix
vishnukv-facets c67375b
fix
vishnukv-facets f7d4199
Remove unnecessary whitespace in main.tf and update secrets.tf to eli…
vishnukv-facets 13776b2
Add eks_auto_mode_enabled output to k8s_details for enhanced EKS conf…
vishnukv-facets dde5451
Add Secret Copier configuration to facets.yaml and refactor legacy_ou…
vishnukv-facets cea9482
Enhance EKS module by adding resource requests and limits to facets.y…
vishnukv-facets 57d946e
Update EKS module by removing default resource values in facets.yaml …
vishnukv-facets 21d28a1
fix
vishnukv-facets 7b083b3
remove
vishnukv-facets 77d4764
Update resource requests in facets.yaml and add dependency on EKS mod…
vishnukv-facets a750a86
remove data
vishnukv-facets 3552f11
Refactor EKS module by removing unnecessary whitespace in main.tf and…
vishnukv-facets f4dab88
Update facets.yaml in EKS module to correct visibility conditions for…
vishnukv-facets File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,7 @@ | ||
| name: network | ||
| type: Networking | ||
| displayName: Network | ||
| description: A collection of connected devices which provides medium to share resources within. | ||
| description: A collection of connected devices which provides medium to share resources within. | ||
| outputs: | ||
| - name: default | ||
| type: "@output/vpc" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,319 @@ | ||
| intent: kubernetes_cluster | ||
| flavor: aws_eks | ||
| alias-flavors: [ "default" ] | ||
| version: "0.3" | ||
| clouds: | ||
| - aws | ||
| title: EKS Cluster with Auto Mode support | ||
| description: A Kubernetes EKS cluster module with auto mode enabled by default and all necessary configurations preset. | ||
| spec: | ||
| type: object | ||
| x-ui-order: | ||
| - cluster | ||
| - node_pools | ||
| - secret_copier | ||
| - tags | ||
| properties: | ||
| secret_copier: | ||
| type: object | ||
| title: Secret Copier | ||
| description: Configuration for the Secret Copier. | ||
| x-ui-toggle: true | ||
| properties: | ||
| enabled: | ||
| type: boolean | ||
| title: Enabled | ||
| description: Enable secret copier. | ||
| default: true | ||
| values: | ||
| type: object | ||
| title: Values | ||
| description: Values to pass to the secret copier. | ||
| default: {} | ||
| x-ui-yaml-editor: true | ||
| cluster: | ||
| type: object | ||
| title: Cluster | ||
| description: Configuration for the EKS cluster. | ||
| x-ui-toggle: true | ||
| properties: | ||
| kubernetes_version: | ||
| type: string | ||
| title: Kubernetes Version | ||
| description: Version of Kubernetes to use for the EKS cluster. | ||
| default: "1.31" | ||
| cluster_endpoint_public_access: | ||
| type: boolean | ||
| title: Cluster Endpoint Public Access | ||
| description: Whether the Amazon EKS public API server endpoint is enabled. | ||
| default: true | ||
| x-ui-overrides-only: true | ||
| cluster_endpoint_private_access: | ||
| type: boolean | ||
| title: Cluster Endpoint Private Access | ||
| description: Whether the Amazon EKS private API server endpoint is enabled. | ||
| default: true | ||
| x-ui-overrides-only: true | ||
| cluster_endpoint_public_access_cidrs: | ||
| type: array | ||
| title: Cluster Endpoint Public Access CIDRs | ||
| description: List of CIDR blocks which can access the Amazon EKS public API server endpoint. | ||
| default: ["0.0.0.0/0"] | ||
| x-ui-overrides-only: true | ||
| cluster_endpoint_private_access_cidrs: | ||
| type: array | ||
| title: Cluster Endpoint Private Access CIDRs | ||
| description: List of CIDR blocks which can access the Amazon EKS private API server endpoint. | ||
| default: ["0.0.0.0/0"] | ||
| x-ui-overrides-only: true | ||
| cloudwatch_log_group_retention_in_days: | ||
| type: number | ||
| title: Cloudwatch Log Group Retention In Days | ||
| description: Retention period for the Cloudwatch log group. | ||
| default: 90 | ||
| cluster_enabled_log_types: | ||
| type: array | ||
| title: Cluster Enabled Log Types | ||
| description: List of log types to enable for the EKS cluster. | ||
| default: ["api", "audit", "authenticator"] | ||
| x-ui-overrides-only: true | ||
| enable_cluster_encryption: | ||
| type: boolean | ||
| title: Enable Cluster Encryption | ||
| description: Enable encryption for the cluster secrets. | ||
| default: true | ||
| default_reclaim_policy: | ||
| type: string | ||
| title: Default Reclaim Policy | ||
| description: Default reclaim policy for the EKS cluster. | ||
| default: "Delete" | ||
| x-ui-overrides-only: true | ||
| enum: | ||
| - "Delete" | ||
| - "Retain" | ||
| kms: | ||
| type: object | ||
| title: KMS | ||
| description: Configuration for the KMS key. | ||
| x-ui-toggle: true | ||
| properties: | ||
| deletion_window_in_days: | ||
| title: Deletion Window | ||
| description: Waiting period in days after which kms keys are deleted | ||
| type: number | ||
| minimum: 7 | ||
| maximum: 30 | ||
| default: 7 | ||
| x-ui-error-message: Deletion window must be between 7 and 30 | ||
| x-ui-overrides-only: true | ||
| enable_rotation: | ||
| title: Enable Rotation for KMS | ||
| description: Specifies whether key rotation is enabled | ||
| type: boolean | ||
| default: false | ||
| x-ui-overrides-only: true | ||
| rotation_period_in_days: | ||
| title: Rotation Period for KMS in days | ||
| description: Specifies Rotation Period for KMS in days | ||
| type: number | ||
| default: 90 | ||
| minimum: 1 | ||
| maximum: 365 | ||
| x-ui-overrides-only: true | ||
| x-ui-visible-if: | ||
| field: spec.cluster.kms_keys.enable_rotation | ||
| values: [true] | ||
| required: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. indentation for required block should be one level back, since required is for cluster properties not for kms property |
||
| - kubernetes_version | ||
| tags: | ||
| type: object | ||
| title: Tags | ||
| description: Tags to apply to the EKS cluster. | ||
| x-ui-toggle: true | ||
| x-ui-yaml-editor: true | ||
| node_pools: | ||
| type: object | ||
| title: Node Pools | ||
| description: Configuration for managed node pools, that are created by facets | ||
| x-ui-toggle: true | ||
| properties: | ||
| dedicated: | ||
| type: object | ||
| title: Dedicated Node Pool | ||
| description: Configuration for dedicated managed node pool. | ||
| x-ui-toggle: true | ||
| properties: | ||
| enabled: | ||
| type: boolean | ||
| title: Enabled | ||
| description: Enable dedicated managed node pool. | ||
| default: false | ||
| max_size_cpu: | ||
| type: number | ||
| title: Maximum Size (CPU) | ||
| description: Maximum number of worker nodes. | ||
| default: 1000 | ||
| x-ui-error-message: Maximum size (CPU)must be between 1 and 1000 | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.dedicated.enabled | ||
| values: [true] | ||
| max_size_memory: | ||
| type: number | ||
| title: Maximum Size (Memory) | ||
| description: Maximum number of worker nodes. | ||
| default: 1000 | ||
| x-ui-error-message: Maximum size (Memory) must be between 1 and 1000 | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.dedicated.enabled | ||
| values: [true] | ||
| instance_types: | ||
| type: string | ||
| title: Instance Types | ||
| description: EC2 instance types for the worker nodes. | ||
| default: "t3.medium" | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.dedicated.enabled | ||
| values: [true] | ||
| capacity_type: | ||
| type: string | ||
| title: Capacity Type | ||
| description: Type of capacity associated with the EKS Node Group. Valid values are ON_DEMAND and SPOT. | ||
| default: "SPOT" | ||
| enum: | ||
| - "on-demand" | ||
| - "spot" | ||
| x-ui-visible-if: | ||
| field: spec.cluster.dedicated.enabled | ||
| values: [true] | ||
| required: | ||
| - enabled | ||
| - max_size_cpu | ||
| - max_size_memory | ||
| - instance_types | ||
| - capacity_type | ||
| default: | ||
| type: object | ||
| title: Default Node Pool | ||
| description: Configuration for default managed node pool. | ||
| x-ui-toggle: true | ||
| properties: | ||
| enabled: | ||
| type: boolean | ||
| title: Enabled | ||
| description: Enable default managed node pool. | ||
| default: true | ||
| max_size_cpu: | ||
| type: number | ||
| title: Maximum Size (CPU) | ||
| description: Maximum number of worker nodes. | ||
| default: 1000 | ||
| x-ui-error-message: Maximum size (CPU)must be between 1 and 1000 | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.default.enabled | ||
| values: [true] | ||
| max_size_memory: | ||
| type: number | ||
| title: Maximum Size (Memory) | ||
| description: Maximum number of worker nodes. | ||
| default: 1000 | ||
| x-ui-error-message: Maximum size (Memory) must be between 1 and 1000 | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.default.enabled | ||
| values: [true] | ||
| instance_types: | ||
| type: string | ||
| title: Instance Types | ||
| description: EC2 instance types for the worker nodes. | ||
| default: "t3.medium" | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.default.enabled | ||
| values: [true] | ||
| capacity_type: | ||
| type: string | ||
| title: Capacity Type | ||
| description: Type of capacity associated with the EKS Node Group. Valid values are ON_DEMAND and SPOT. | ||
| default: "SPOT" | ||
| enum: | ||
| - "on-demand" | ||
| - "spot" | ||
| x-ui-visible-if: | ||
| field: spec.node_pools.default.enabled | ||
| values: [true] | ||
| required: | ||
| - enabled | ||
| - max_size_cpu | ||
| - max_size_memory | ||
| - instance_types | ||
| - capacity_type | ||
| required: | ||
| - cluster | ||
| inputs: | ||
| network_details: | ||
| type: "@outputs/vpc" | ||
| default: | ||
| resource_type: network | ||
| resource_name: default | ||
| outputs: | ||
| default: | ||
| type: "@outputs/kubernetes" | ||
| providers: | ||
| kubernetes: | ||
| source: hashicorp/kubernetes | ||
| version: 2.17.0 | ||
| attributes: | ||
| host: attributes.k8s_details.auth.host | ||
| token: attributes.k8s_details.auth.token | ||
| cluster_ca_certificate: attributes.k8s_details.auth.cluster_ca_certificate | ||
| helm: | ||
| source: hashicorp/helm | ||
| version: 2.8.0 | ||
| attributes: | ||
| kubernetes: | ||
| host: attributes.k8s_details.auth.host | ||
| token: attributes.k8s_details.auth.token | ||
| cluster_ca_certificate: attributes.k8s_details.auth.cluster_ca_certificate | ||
| kubernetes-alpha: | ||
| source: hashicorp/kubernetes-alpha | ||
| version: 0.6.0 | ||
| attributes: | ||
| host: attributes.k8s_details.auth.host | ||
| cluster_ca_certificate: attributes.k8s_details.auth.cluster_ca_certificate | ||
| token: attributes.k8s_details.auth.token | ||
| sample: | ||
| kind: kubernetes_cluster | ||
| flavor: aws_eks | ||
| alias-flavors: [ "default" ] | ||
| version: "0.3" | ||
| metadata: | ||
| name: "eks-cluster" | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. spec is missing |
||
| cluster: | ||
| kubernetes_version: "1.31" | ||
| cluster_endpoint_public_access: true | ||
| cluster_endpoint_private_access: true | ||
| cluster_endpoint_public_access_cidrs: ["0.0.0.0/0"] | ||
| cluster_endpoint_private_access_cidrs: ["0.0.0.0/0"] | ||
| secret_copier: | ||
| enabled: true | ||
| values: | ||
| resources: | ||
| requests: | ||
| cpu: "150m" | ||
| memory: "256Mi" | ||
| node_pools: | ||
| dedicated: | ||
| enabled: false | ||
| desired_size: 2 | ||
| min_size: 1 | ||
| max_size: 3 | ||
| instance_types: "t3.medium" | ||
| disk_size: 50 | ||
| capacity_type: "SPOT" | ||
| default: | ||
| enabled: false | ||
| desired_size: 2 | ||
| min_size: 1 | ||
| max_size: 3 | ||
| instance_types: "t3.medium" | ||
| disk_size: 50 | ||
| capacity_type: "SPOT" | ||
|
|
||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rr0hit Can we have new flavor for this since users might be allowed to update to new version in the UI will become a problem if we release it as a new version instead of a new flavor