Preflight Check CLI for EKS Auto Mode - assess cluster readiness for migration
Project description
i ju# Preflight Check CLI for EKS Auto Mode
A comprehensive command-line tool designed to assess your Amazon EKS cluster's readiness for migration to EKS Auto Mode. This tool performs automated compatibility checks across 11 key areas including Kubernetes version, IAM configurations, instance types, and workload compatibility to ensure a smooth transition to EKS Auto Mode's fully managed compute experience.
Features
- 11 Compatibility Checks: Version, IAM, instances, Windows nodes, SSH/SSM access, custom AMIs, user data, addons, autoscaling, identity, and load balancers
- Multiple Output Formats: Table, JSON, YAML, and HTML reports
- CI/CD Ready: Proper exit codes for automation
- Selective Testing: Run specific checks or all checks
AWS Permissions
Required IAM permissions:
eks:DescribeCluster,eks:ListNodegroups,eks:DescribeNodegroupeks:ListAddons,eks:DescribeAddonec2:DescribeInstances,ec2:DescribeLaunchTemplateVersionsautoscaling:DescribeAutoScalingGroupsiam:ListAttachedRolePolicies,iam:GetRole
Installation
Recommended: System-wide Installation
pip install preflight-check-cli-for-eks-auto-mode
eks-automode-cli --version
CLI installed to: /usr/local/bin/eks-automode-cli (macOS/Linux)
Virtual Environment (Isolated)
python3 -m venv /tmp/.venv
source /tmp/.venv/bin/activate
pip install preflight-check-cli-for-eks-auto-mode
eks-automode-cli --version
CLI installed to: /tmp/.venv/bin/eks-automode-cli
User Installation
pip install --user preflight-check-cli-for-eks-auto-mode
eks-automode-cli --version
CLI installed to: ~/.local/bin/eks-automode-cli
Note: The eks-automode-cli command becomes available in your terminal PATH after installation. System-wide installation is recommended for ease of use.
Usage
# Basic check
eks-automode-cli check -c my-cluster --region us-east-1
# JSON output
eks-automode-cli check -c my-cluster --region us-east-1 --output json
# HTML report
eks-automode-cli check -c my-cluster --region us-east-1 --output html
# Run specific checks
eks-automode-cli check -c my-cluster --checks version,iam,instances
# Verbose output with recommendations
eks-automode-cli check -c my-cluster --region us-east-1 --verbose
# Quiet mode (exit codes only)
eks-automode-cli check -c my-cluster --region us-east-1 --quiet
# List available checks
eks-automode-cli list-checks
EKS Auto Mode Readiness Status
- Ready - Cluster is ready for EKS Auto Mode migration
- Requires Changes - Minor configurations needed before migration
- Not Ready - Critical blockers detected (e.g., custom AMIs)
- Error - Assessment could not be completed
Compatibility Checks
| Check | Description |
|---|---|
| version | Kubernetes 1.29+ requirement |
| iam | Cluster role and Auto Mode policies |
| instances | Instance type compatibility |
| windows | Windows node detection |
| ssh | SSH/SSM access detection |
| amis | Custom AMI usage |
| userdata | Custom node bootstrapping |
| addons | Managed addons compatibility |
| autoscaling | Existing autoscaling detection |
| identity | IRSA v1 vs Pod Identity |
| loadbalancers | ALB and NLB detection |
Output Examples
Table Output
Check Status Details
------------ -------- ----------------------------------
version PASS Kubernetes 1.29 supported
iam PASS All required policies attached
instances FAIL 2 nano instances found
identity WARN Using IRSA v1 (OIDC)
JSON Output
{
"cluster": "my-cluster",
"overall_status": "REQUIRES_CHANGES",
"checks": {
"version": {"status": "PASS", "details": "Kubernetes 1.29 supported"},
"instances": {"status": "FAIL", "details": "2 nano instances found"}
}
}
Development
# Install from source
git clone <repository-url>
cd eks-automode-preflight-checker-cli
pip install -e .
Support & Feedback
This project is maintained by AWS Solution Architects. It is not part of an AWS service and support is provided best-effort by the maintainers. To post feedback, submit feature ideas, or report bugs, please use the Issues section of this repo. If you are interested in contributing, please see the Contribution guide.
License
Security
See Threat Model for security considerations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file preflight_check_cli_for_eks_auto_mode-0.1.0.tar.gz.
File metadata
- Download URL: preflight_check_cli_for_eks_auto_mode-0.1.0.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58cb3b897235f1a1e129914415af29567a5809a82b9b46fabc813332d04d5275
|
|
| MD5 |
f14fa0bd10e102d97e77d3d5ffa7ecf5
|
|
| BLAKE2b-256 |
4240362147142a75e02797b3570951e994d37e9f5846ade0cbd9467478023680
|
File details
Details for the file preflight_check_cli_for_eks_auto_mode-0.1.0-py3-none-any.whl.
File metadata
- Download URL: preflight_check_cli_for_eks_auto_mode-0.1.0-py3-none-any.whl
- Upload date:
- Size: 27.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fba195560149f414ad63082b2d366d32c56774dafa89e9c9ed68e203ce3ba720
|
|
| MD5 |
bb7a4e61fe81a161bfd70e188d176197
|
|
| BLAKE2b-256 |
4ac0820fca00b0f7a354a5dfb06071fb80b00b4df63ad1af683737b2935dfb9a
|