Skip to content
Draft
Show file tree
Hide file tree
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 Apr 28, 2025
0295068
add sample
vishnukv-facets Apr 28, 2025
e9e86b8
add AWS cloud support in facets.yaml
vishnukv-facets Apr 28, 2025
44f5d12
Update output type in facets.yaml to specify aws_eks
vishnukv-facets Apr 28, 2025
6f2888a
Add AWS EKS output facets configuration
vishnukv-facets Apr 29, 2025
910bf27
Refactor EKS storage class parameters to use merge function for dynam…
vishnukv-facets Apr 29, 2025
ada2d0d
Refactor EKS storage class parameters to simplify tag specification b…
vishnukv-facets Apr 29, 2025
dd08247
Update Kubernetes and Network facets to standardize output types and …
vishnukv-facets Apr 29, 2025
9882968
Add VPC outputs configuration in output.facets.yaml
vishnukv-facets Apr 29, 2025
4d371b7
Rename EKS storage class from "eks-auto-mode-gp3" to "eks-auto-mode-g…
vishnukv-facets Apr 29, 2025
1676b6a
Enhance EKS module by adding cluster_service_ipv4_cidr local variable…
vishnukv-facets Apr 29, 2025
fd24cca
Update EKS facets.yaml to enhance configuration options by adding enu…
vishnukv-facets Apr 30, 2025
dbcaa74
Remove enum definitions for log types in EKS facets.yaml to streamlin…
vishnukv-facets Apr 30, 2025
fb136b9
Refactor EKS node pool configurations in facets.yaml and locals.tf to…
vishnukv-facets Apr 30, 2025
f69bab1
Update EKS facets.yaml to require 'cluster' instead of 'kubernetes_ve…
vishnukv-facets Apr 30, 2025
c954780
Remove unused provider configuration for AWS in EKS module main.tf, s…
vishnukv-facets Apr 30, 2025
32159c9
Update EKS module source path in main.tf for improved clarity and con…
vishnukv-facets Apr 30, 2025
c7fa9ad
Update EKS module source path in main.tf to use relative path for imp…
vishnukv-facets Apr 30, 2025
c02ba88
delete
vishnukv-facets Apr 30, 2025
adaab55
Refactor EKS module by restructuring the source path and introducing …
vishnukv-facets Apr 30, 2025
ea0d9bd
Refactor EKS module variables to remove auto_mode and replace node gr…
vishnukv-facets Apr 30, 2025
6e7c99f
add kms
vishnukv-facets Apr 30, 2025
160ff12
fix
vishnukv-facets Apr 30, 2025
af46d44
Add KMS module with comprehensive key management resources and output…
vishnukv-facets Apr 30, 2025
e7d561a
Remove version attribute from KMS module in EKS configuration for com…
vishnukv-facets Apr 30, 2025
f64fa30
fix
vishnukv-facets Apr 30, 2025
2bed5c6
Add dependencies on EKS cluster data for default and dedicated node p…
vishnukv-facets Apr 30, 2025
579105b
remove versions
vishnukv-facets Apr 30, 2025
55c6577
Refactor EKS node pool configurations in main.tf to standardize forma…
vishnukv-facets Apr 30, 2025
50a6dfb
fix
vishnukv-facets Apr 30, 2025
3a6de27
fix
vishnukv-facets Apr 30, 2025
c2c03ac
fix
vishnukv-facets Apr 30, 2025
13d74dd
fix
vishnukv-facets Apr 30, 2025
542a7ff
fix
vishnukv-facets Apr 30, 2025
765dd82
fix
vishnukv-facets May 1, 2025
6f23fa3
Update EKS configurations to use provider "aws593" in launch template…
vishnukv-facets May 1, 2025
826d66c
Update EKS resources to consistently use provider "aws593" across acc…
vishnukv-facets May 1, 2025
c82ffcf
Remove unnecessary whitespace in locals.tf and add provider "aws593" …
vishnukv-facets May 1, 2025
e05b8e2
Update EKS subnet configuration to use k8s_subnets and comment out na…
vishnukv-facets May 1, 2025
1749c80
Add legacy outputs to EKS module for enhanced configuration details
vishnukv-facets May 5, 2025
181f33d
Update legacy_outputs in EKS module to use an empty list for registry…
vishnukv-facets May 5, 2025
5673eb7
Refactor EKS module to replace cluster_id references with cluster_nam…
vishnukv-facets May 5, 2025
639da02
Add cluster_compute_config to EKS module for enhanced node pool confi…
vishnukv-facets May 5, 2025
4f9962f
Refactor EKS module to standardize naming conventions for cluster and…
vishnukv-facets May 5, 2025
d7d052e
Refactor EKS module to simplify locals.tf by removing interpolation s…
vishnukv-facets May 5, 2025
97c7155
fix
vishnukv-facets May 5, 2025
5075930
Refactor EKS module to update node pool data references for improved …
vishnukv-facets May 5, 2025
5c327fd
Add consolidation configuration to disruption settings in EKS module …
vishnukv-facets May 5, 2025
f1a7e09
Update EKS module to standardize naming conventions for default and d…
vishnukv-facets May 5, 2025
d1eb621
Standardize disruption configuration in EKS module locals.tf by corre…
vishnukv-facets May 5, 2025
0f1ea9a
fix
vishnukv-facets May 5, 2025
bbd23ed
Enhance EKS module by updating default and dedicated node pool config…
vishnukv-facets May 5, 2025
2940def
Update EKS module to standardize naming conventions for node pools by…
vishnukv-facets May 5, 2025
887ca42
Add Kubernetes credentials backend and priority class to EKS module, …
vishnukv-facets May 5, 2025
f821d4e
Update EKS module to reference the correct cluster endpoint in the cr…
vishnukv-facets May 5, 2025
7e630e8
Standardize capacity type values in EKS module to lowercase and updat…
vishnukv-facets May 5, 2025
00a555d
Update EKS module to conditionally enable default node pool based on …
vishnukv-facets May 5, 2025
9337090
Refactor EKS module by updating node pool naming from 'nodepools' to …
vishnukv-facets May 5, 2025
f9c3ec4
fix
vishnukv-facets May 5, 2025
3061947
Update EKS module to reference the first availability zone in locals.…
vishnukv-facets May 6, 2025
8f1aacd
Add AWS593 facet to cloud account module with role assumption attribu…
vishnukv-facets May 6, 2025
5690779
Fix value assignment in locals.tf by wrapping the first availability …
vishnukv-facets May 6, 2025
2c6140c
Add cluster addons configuration in locals.tf for snapshot-controller…
vishnukv-facets May 6, 2025
8fbddeb
Add EKS module support for dynamic cluster addons configuration in lo…
vishnukv-facets May 6, 2025
823abd4
Update EKS module to use cluster_name instead of cluster_id for addon…
vishnukv-facets May 6, 2025
9ab35f7
Enhance EKS addon resource dependencies by including cluster data sou…
vishnukv-facets May 6, 2025
8b7d82c
Update EKS module to include 'general-purpose' in node_pools configur…
vishnukv-facets May 6, 2025
5eddc32
Add ALB and IngressClass modules to EKS configuration in alb.tf, and …
vishnukv-facets May 6, 2025
ef720e5
Update ALB IngressClass module in alb.tf to include advanced configur…
vishnukv-facets May 6, 2025
537b6a0
Refactor ALB IngressClass data reference in alb.tf to improve clarity…
vishnukv-facets May 6, 2025
991f017
fix
vishnukv-facets May 6, 2025
a6b5b8c
revert
vishnukv-facets May 6, 2025
57896a8
Update dependencies in secrets.tf to reference kubernetes_service_acc…
vishnukv-facets May 6, 2025
17600c5
Refactor EKS provider configuration in providers.tf to utilize data s…
vishnukv-facets May 6, 2025
7fe6666
Add dependencies to EKS cluster data sources in providers.tf for impr…
vishnukv-facets May 6, 2025
be53eb2
Refactor ALB and IngressClass module names in alb.tf for consistency …
vishnukv-facets May 6, 2025
a47d6ef
Enhance EKS module dependencies in main.tf and secrets.tf for improve…
vishnukv-facets May 6, 2025
edc577d
Refactor provider configurations in providers.tf to replace exec auth…
vishnukv-facets May 6, 2025
1b54434
fix
vishnukv-facets May 6, 2025
9ab8130
refactor
vishnukv-facets May 7, 2025
606e29c
Enhance EKS module by adding cluster variable for configuration and u…
vishnukv-facets May 7, 2025
0b11f96
Refactor cluster variable type in EKS module from object to any for i…
vishnukv-facets May 7, 2025
ec8cb55
Add cc_metadata variable to EKS module for enhanced configuration opt…
vishnukv-facets May 7, 2025
4e96292
Add k8s_subnets variable to EKS module for improved subnet configurat…
vishnukv-facets May 7, 2025
07f9f33
Remove deprecated secrets.tf file and update main.tf to include EKS c…
vishnukv-facets May 7, 2025
cda30bb
Remove unnecessary whitespace in main.tf and simplify dependencies in…
vishnukv-facets May 7, 2025
efa119c
Enhance EKS module by adding secret-copier Helm release configuration…
vishnukv-facets May 7, 2025
979ebd4
Add EKS module name configuration and update dependencies for improve…
vishnukv-facets May 7, 2025
440d3b9
Refactor EKS module to use vpc_id and k8s_subnets variables for impro…
vishnukv-facets May 7, 2025
ef28c3d
Update EKS module to replace references from cluster_name to cluster_…
vishnukv-facets May 7, 2025
9fd33ac
Update EKS module to standardize authentication attribute references …
vishnukv-facets May 7, 2025
6938997
fix
vishnukv-facets May 7, 2025
5824ec5
fix
vishnukv-facets May 7, 2025
c67375b
fix
vishnukv-facets May 7, 2025
f7d4199
Remove unnecessary whitespace in main.tf and update secrets.tf to eli…
vishnukv-facets May 7, 2025
13776b2
Add eks_auto_mode_enabled output to k8s_details for enhanced EKS conf…
vishnukv-facets May 7, 2025
dde5451
Add Secret Copier configuration to facets.yaml and refactor legacy_ou…
vishnukv-facets May 7, 2025
cea9482
Enhance EKS module by adding resource requests and limits to facets.y…
vishnukv-facets May 7, 2025
57d946e
Update EKS module by removing default resource values in facets.yaml …
vishnukv-facets May 7, 2025
21d28a1
fix
vishnukv-facets May 7, 2025
7b083b3
remove
vishnukv-facets May 7, 2025
77d4764
Update resource requests in facets.yaml and add dependency on EKS mod…
vishnukv-facets May 8, 2025
a750a86
remove data
vishnukv-facets May 8, 2025
3552f11
Refactor EKS module by removing unnecessary whitespace in main.tf and…
vishnukv-facets May 8, 2025
f4dab88
Update facets.yaml in EKS module to correct visibility conditions for…
vishnukv-facets May 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion intents/kubernetes_cluster/facets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ displayName: Kubernetes Cluster
description: A group of computing nodes, or worker machines, that run containerized applications.
outputs:
- name: default
type: "@output/kubernetes"
type: "@output/kubernetes"
5 changes: 4 additions & 1 deletion intents/network/facets.yaml
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"
11 changes: 11 additions & 0 deletions modules/cloud_account/aws/0.1/facets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,17 @@ outputs:
role_arn: attributes.aws_iam_role
session_name: attributes.session_name
external_id: attributes.external_id
aws593:
source: hashicorp/aws593
version: "= 5.93.0"
attributes:
region: attributes.aws_region
skip_region_validation: true
attributes:
assume_role:
role_arn: attributes.aws_iam_role
session_name: attributes.session_name
external_id: attributes.external_id
sample:
version: "0.1"
flavor: aws
Expand Down
1 change: 0 additions & 1 deletion modules/kubernetes_cluster/aws_eks/0.2/facets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ spec:
default: 90
minimum: 1
maximum: 365
default: 90
x-ui-overrides-only: true
x-ui-visible-if:
field: spec.cluster.kms_keys.enable_rotation
Expand Down
319 changes: 319 additions & 0 deletions modules/kubernetes_cluster/aws_eks/0.3/facets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,319 @@
intent: kubernetes_cluster
flavor: aws_eks
Copy link
Copy Markdown
Collaborator

@pramodh-ayyappan pramodh-ayyappan May 23, 2025

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

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:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The 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"

Loading
Loading