# Amazon EKS Upgrade Utility
<p align="center">
<a href="https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/validate.yaml"><img alt="Validation Status" src="https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/validate.yaml/badge.svg?branch=main&event=push"></a>
<a href="https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/e2e-test.yaml"><img alt="E2E Cluster Upgrade" src="https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/e2e-test.yaml/badge.svg?branch=main"></a>
<a href="https://codecov.io/github/aws-samples/eks-cluster-upgrade?branch=main"><img alt="Coverage Status" src="https://codecov.io/github/aws-samples/eks-cluster-upgrade/coverage.svg?branch=main"></a>
<a href="https://pypi.org/project/eksupgrade/"><img alt="PyPI" src="https://img.shields.io/pypi/v/eksupgrade"></a>
<a href="https://pepy.tech/project/eksupgrade"><img alt="Downloads" src="https://pepy.tech/badge/eksupgrade"></a>
</p>
Amazon EKS cluster upgrade is a utility that automates the upgrade process for Amazon EKS clusters.
## Checks post v0.9.0
The pre/post-flight checks are removed in favor of guiding the user to evaluate their clusters with existing tools which handle this better such as **[eksup](https://github.com/clowdhaus/eksup)**. The existing pre/post checks will be replaced with relevant checks specific to the upgrade (based on previous understanding the cluster is eligible for such an upgrade).
### Cluster Upgrade
1. Control plane upgrade - This is handled entirely by AWS once the version upgrade has been requested.
2. Identification of Managed and Self-managed node - The worker nodes are identified as EKS managed and Self-managed to perform upgrade.
3. Managed Node group update - Updates managed node group to the specified version.
4. Self-managed Node group update
- Launch new nodes with upgraded version and wait until they require ready status for next step.
- Mark existing nodes as unschedulable.
- If pod disruption budget (PDB) is present then check for force eviction flag (--force) which is given by user, only then evict the pods or continue with the flow.
## Pre-Requisites
Before running `eksupgrade`, you will need to have permission for both AWS and the Kubernetes cluster itself.
1. Install `eksupgrade` locally:
```sh
python -m pip install eksupgrade
```
2. Ensure you have the necessary AWS permissions; an example policy of required permissions is listed below:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "iam",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"sts:GetAccessKeyInfo",
"sts:GetCallerIdentity",
"sts:GetSessionToken"
],
"Resource": "*"
},
{
"Sid": "ec2",
"Effect": "Allow",
"Action": [
"autoscaling:CreateLaunchConfiguration",
"autoscaling:Describe*",
"autoscaling:SetDesiredCapacity",
"autoscaling:TerminateInstanceInAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup",
"ec2:Describe*",
"ssm:*"
],
"Resource": "*"
},
{
"Sid": "eks",
"Effect": "Allow",
"Action": [
"eks:Describe*",
"eks:List*",
"eks:UpdateAddon",
"eks:UpdateClusterVersion",
"eks:UpdateNodegroupVersion"
],
"Resource": "*"
}
]
}
```
3. Update your local kubeconfig to authenticate to the cluster:
```sh
aws eks update-kubeconfig --name <CLUSTER-NAME> --region <REGION>
```
## Usage
To view the arguments and options, run:
```sh
eksupgrade --help
```
```sh
Usage: eksupgrade [OPTIONS] CLUSTER_NAME CLUSTER_VERSION REGION
Run eksupgrade against a target cluster.
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ * cluster_name TEXT The name of the cluster to be upgraded [default: None] [required] │
│ * cluster_version TEXT The target Kubernetes version to upgrade the cluster to [default: None] [required] │
│ * region TEXT The AWS region where the target cluster resides [default: None] [required] │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --max-retry INTEGER The most number of times to retry an upgrade [default: 2] │
│ --force --no-force Force the upgrade (e.g. pod eviction with PDB) [default: no-force] │
│ --preflight --no-preflight Run pre-upgrade checks without upgrade [default: no-preflight] │
│ --parallel --no-parallel Upgrade all nodegroups in parallel [default: no-parallel] │
│ --latest-addons --no-latest-addons Upgrade addons to the latest eligible version instead of default [default: no-latest-addons] │
│ --disable-checks --no-disable-checks Disable the pre-upgrade and post-upgrade checks during upgrade scenarios [default: no-disable-checks] │
│ --interactive --no-interactive If enabled, prompt the user for confirmations [default: interactive] │
│ --version Display the current eksupgrade version │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
```
## Support & Feedback
This project is maintained by AWS Solution Architects and Consultants. 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](https://github.com/aws-samples/eks-cluster-upgrade/issues) of this repo. If you are interested in contributing, please see the [Contribution guide](https://github.com/aws-samples/eks-cluster-upgrade/blob/main/CONTRIBUTING.md).
## Security
See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
## License
This library is licensed under the MIT-0 License. See the [LICENSE](LICENSE) file.
Raw data
{
"_id": null,
"home_page": "",
"name": "eksupgrade",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "amazon,aws,aws-samples,eks,kubernetes,upgrade,eksupgrade",
"author": "EKS Upgrade Maintainers",
"author_email": "eks-upgrade-maintainers@amazon.com",
"download_url": "https://files.pythonhosted.org/packages/b2/88/28769ae21acb8060b6604d192b136e8d8a1eab76dd6c39372ae1dd86cd1f/eksupgrade-0.9.0.tar.gz",
"platform": null,
"description": "# Amazon EKS Upgrade Utility\n\n<p align=\"center\">\n<a href=\"https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/validate.yaml\"><img alt=\"Validation Status\" src=\"https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/validate.yaml/badge.svg?branch=main&event=push\"></a>\n<a href=\"https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/e2e-test.yaml\"><img alt=\"E2E Cluster Upgrade\" src=\"https://github.com/aws-samples/eks-cluster-upgrade/actions/workflows/e2e-test.yaml/badge.svg?branch=main\"></a>\n<a href=\"https://codecov.io/github/aws-samples/eks-cluster-upgrade?branch=main\"><img alt=\"Coverage Status\" src=\"https://codecov.io/github/aws-samples/eks-cluster-upgrade/coverage.svg?branch=main\"></a>\n<a href=\"https://pypi.org/project/eksupgrade/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/eksupgrade\"></a>\n<a href=\"https://pepy.tech/project/eksupgrade\"><img alt=\"Downloads\" src=\"https://pepy.tech/badge/eksupgrade\"></a>\n</p>\n\nAmazon EKS cluster upgrade is a utility that automates the upgrade process for Amazon EKS clusters.\n\n\n## Checks post v0.9.0\n\nThe pre/post-flight checks are removed in favor of guiding the user to evaluate their clusters with existing tools which handle this better such as **[eksup](https://github.com/clowdhaus/eksup)**. The existing pre/post checks will be replaced with relevant checks specific to the upgrade (based on previous understanding the cluster is eligible for such an upgrade).\n\n### Cluster Upgrade\n\n1. Control plane upgrade - This is handled entirely by AWS once the version upgrade has been requested.\n2. Identification of Managed and Self-managed node - The worker nodes are identified as EKS managed and Self-managed to perform upgrade.\n3. Managed Node group update - Updates managed node group to the specified version.\n4. Self-managed Node group update\n - Launch new nodes with upgraded version and wait until they require ready status for next step.\n - Mark existing nodes as unschedulable.\n - If pod disruption budget (PDB) is present then check for force eviction flag (--force) which is given by user, only then evict the pods or continue with the flow.\n\n## Pre-Requisites\n\nBefore running `eksupgrade`, you will need to have permission for both AWS and the Kubernetes cluster itself.\n\n1. Install `eksupgrade` locally:\n\n```sh\npython -m pip install eksupgrade\n```\n\n2. Ensure you have the necessary AWS permissions; an example policy of required permissions is listed below:\n\n```json\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"iam\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"iam:GetRole\",\n \"sts:GetAccessKeyInfo\",\n \"sts:GetCallerIdentity\",\n \"sts:GetSessionToken\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"ec2\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"autoscaling:CreateLaunchConfiguration\",\n \"autoscaling:Describe*\",\n \"autoscaling:SetDesiredCapacity\",\n \"autoscaling:TerminateInstanceInAutoScalingGroup\",\n \"autoscaling:UpdateAutoScalingGroup\",\n \"ec2:Describe*\",\n \"ssm:*\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"eks\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"eks:Describe*\",\n \"eks:List*\",\n \"eks:UpdateAddon\",\n \"eks:UpdateClusterVersion\",\n \"eks:UpdateNodegroupVersion\"\n ],\n \"Resource\": \"*\"\n }\n ]\n}\n```\n\n3. Update your local kubeconfig to authenticate to the cluster:\n\n```sh\naws eks update-kubeconfig --name <CLUSTER-NAME> --region <REGION>\n```\n\n## Usage\n\nTo view the arguments and options, run:\n\n```sh\neksupgrade --help\n```\n\n```sh\n Usage: eksupgrade [OPTIONS] CLUSTER_NAME CLUSTER_VERSION REGION\n\n Run eksupgrade against a target cluster.\n\n\u256d\u2500 Arguments \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 * cluster_name TEXT The name of the cluster to be upgraded [default: None] [required] \u2502\n\u2502 * cluster_version TEXT The target Kubernetes version to upgrade the cluster to [default: None] [required] \u2502\n\u2502 * region TEXT The AWS region where the target cluster resides [default: None] [required] \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u256d\u2500 Options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 --max-retry INTEGER The most number of times to retry an upgrade [default: 2] \u2502\n\u2502 --force --no-force Force the upgrade (e.g. pod eviction with PDB) [default: no-force] \u2502\n\u2502 --preflight --no-preflight Run pre-upgrade checks without upgrade [default: no-preflight] \u2502\n\u2502 --parallel --no-parallel Upgrade all nodegroups in parallel [default: no-parallel] \u2502\n\u2502 --latest-addons --no-latest-addons Upgrade addons to the latest eligible version instead of default [default: no-latest-addons] \u2502\n\u2502 --disable-checks --no-disable-checks Disable the pre-upgrade and post-upgrade checks during upgrade scenarios [default: no-disable-checks] \u2502\n\u2502 --interactive --no-interactive If enabled, prompt the user for confirmations [default: interactive] \u2502\n\u2502 --version Display the current eksupgrade version \u2502\n\u2502 --install-completion Install completion for the current shell. \u2502\n\u2502 --show-completion Show completion for the current shell, to copy it or customize the installation. \u2502\n\u2502 --help Show this message and exit. \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n```\n## Support & Feedback\n\nThis project is maintained by AWS Solution Architects and Consultants. 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](https://github.com/aws-samples/eks-cluster-upgrade/issues) of this repo. If you are interested in contributing, please see the [Contribution guide](https://github.com/aws-samples/eks-cluster-upgrade/blob/main/CONTRIBUTING.md).\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis library is licensed under the MIT-0 License. See the [LICENSE](LICENSE) file.\n",
"bugtrack_url": null,
"license": "MIT-0",
"summary": "The Amazon EKS cluster upgrade utility",
"version": "0.9.0",
"project_urls": null,
"split_keywords": [
"amazon",
"aws",
"aws-samples",
"eks",
"kubernetes",
"upgrade",
"eksupgrade"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "975a8e0064df5fe80db448dc7dd09c9aab08683aae7792c2b05ec9588010f414",
"md5": "e6dba6a69d126a1c5250d301a34e9dfb",
"sha256": "94cc629db4cedb2a5a56d7e30327ca56d4fcac86bec1f00859883037712ce4d4"
},
"downloads": -1,
"filename": "eksupgrade-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6dba6a69d126a1c5250d301a34e9dfb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 40081,
"upload_time": "2023-05-04T14:15:37",
"upload_time_iso_8601": "2023-05-04T14:15:37.600578Z",
"url": "https://files.pythonhosted.org/packages/97/5a/8e0064df5fe80db448dc7dd09c9aab08683aae7792c2b05ec9588010f414/eksupgrade-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b28828769ae21acb8060b6604d192b136e8d8a1eab76dd6c39372ae1dd86cd1f",
"md5": "9a0f91ece275f5cdab4356e7faa338ca",
"sha256": "51169d4ef46cda4f29191978f6f77b38ea50dc9c2f5ee23ecdc4106dc2ebce4a"
},
"downloads": -1,
"filename": "eksupgrade-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "9a0f91ece275f5cdab4356e7faa338ca",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 31648,
"upload_time": "2023-05-04T14:15:38",
"upload_time_iso_8601": "2023-05-04T14:15:38.954078Z",
"url": "https://files.pythonhosted.org/packages/b2/88/28769ae21acb8060b6604d192b136e8d8a1eab76dd6c39372ae1dd86cd1f/eksupgrade-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-04 14:15:38",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "eksupgrade"
}