Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions modules/common/k8s_callback/k8s_standard/1.0/facets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ description: Creates ServiceAccount with admin role and registers OVH K8s creden
with Facets control plane
clouds:
- kubernetes
- aws
- azure
- gcp
inputs:
kubernetes_details:
type: '@facets/kubernetes-details'
Expand Down
89 changes: 89 additions & 0 deletions modules/karpenter/1.0/facets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
clouds:
- aws
description: |
Deploys Karpenter controller and necessary infrastructure for EKS clusters.
This module installs the Karpenter controller, IAM roles, and sets up interruption handling.
Use this module once per cluster, then use kubernetes_node_pool/karpenter for creating NodePools.
flavor: default
inputs:
cloud_account:
description: The AWS Cloud Account for EC2 instance provisioning
displayName: Cloud Account
optional: false
providers:
- aws
type: '@facets/aws_cloud_account'
kubernetes_details:
description: The EKS cluster where Karpenter will be deployed
displayName: Kubernetes Cluster
optional: false
providers:
- kubernetes
- helm
type: '@facets/kubernetes-details'
network_details:
default:
resource_name: default
resource_type: network
displayName: Network
type: '@facets/aws-vpc-details'
intent: karpenter
outputs:
default:
mock:
attributes:
controller_role_arn: mock-string-value
interruption_queue_name: mock-string-value
karpenter_namespace: mock-string-value
karpenter_service_account: mock-string-value
karpenter_version: mock-string-value
node_instance_profile_name: mock-string-value
node_role_arn: mock-string-value
secrets: []
interfaces: {}
type: '@facets/karpenter-details'
sample:
disabled: false
flavor: default
kind: karpenter
spec:
karpenter_version: 1.0.1
karpenter_replicas: 2
interruption_handling: true
version: "1.0"
spec:
description: Configure Karpenter controller for your EKS cluster
properties:
karpenter_version:
default: 1.0.1
description: Version of Karpenter to deploy (should match your Kubernetes version)
title: Karpenter Version
type: string
x-ui-overrides-only: true
karpenter_replicas:
default: 2
description: Number of Karpenter controller replicas for high availability
maximum: 5
minimum: 1
title: Controller Replicas
type: integer
interruption_handling:
default: true
description: Enable interruption handling for Spot instances
title: Enable Interruption Handling
type: boolean
tags:
description: Additional AWS tags to apply to Karpenter resources
title: Resource Tags
type: object
x-ui-yaml-editor: true
required:
- karpenter_version
title: Karpenter Controller Configuration
type: object
x-ui-order:
- karpenter_version
- karpenter_replicas
- interruption_handling
- tags
version: "1.0"
Loading