• Stars
    star
    106
  • Rank 325,871 (Top 7 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created about 2 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

EKS cluster upgrade guidance

eksup

See the docs at clowdhaus.github.io/eksup

Installation

Archives of pre-compiled binaries for eksup are available for Windows, macOS and Linux.

Homebrew (macOS and Linux)

brew install clowdhaus/taps/eksup

Cargo (rust)

cargo install eksup

Source

eksup is written in Rust, so you'll need to grab a Rust installation in order to compile it. eksup compiles with Rust 1.65.0 (stable) or newer. In general, eksup tracks the latest stable release of the Rust compiler.

To build eksup:

git clone https://github.com/clowdhaus/eksup
cd eksup
cargo build --release
./target/release/eksup --version
0.5.1

Local Development

eksup uses Rust stable for production builds, but nightly for local development for formatting and linting. It is not a requirement to use nightly, but if running fmt you may see a few warnings on certain features only being available on nightly.

Build the project to pull down dependencies and ensure everything is setup properly:

cargo build

To format the codebase:

If using nightly to use features defined in rustfmt.toml, run the following:

cargo +nightly fmt --all

If using stable, run the following:

cargo fmt --all

To execute lint checks:

cargo clippy --all-targets --all-features

To run eksup locally for development, simply pass eksup commands and arguments after cargo run -- as follows:

cargo run -- analyze --cluster <cluster> --region <region>

You can think of cargo run -- as an alias for eksup when running locally. Note: you will need to have access to the cluster you are analyzing. This is generally done by ensuring you have a valid ~/.kube/config file; one can be created/updated by running:

aws eks update-kubeconfig --name <cluster> --region <region>

Running Tests

To execute the tests provided, run the following from the project root directory:

cargo test --all

More Repositories

1

aws-github-actions

Deploy 🚀 to AWS ☁️ with :octocat: GitHub Actions!
TypeScript
114
star
2

eks-reference-architecture

Reference EKS architectures using https://github.com/terraform-aws-modules/terraform-aws-eks
HCL
82
star
3

argo-cd-action

GitHub action for executing Argo CD 🦑
TypeScript
65
star
4

trunk-based-artifact-promotion

Walkthrough on trunk based 🌳 workflow with artifact promotion
Python
44
star
5

terraform-composite-actions

Contains composit GitHub actions for use with Terraform AWS Module workflows
Python
40
star
6

terraform-min-max

GitHub action used to evaluate the Terraform minimum and maximum versions permitted
HCL
22
star
7

terraform-for-each-unknown

Figuring this out as I go 🤷‍♂️
HCL
18
star
8

eks-v17-v18-migrate

How to migrate from v17 to v18 of `terraform-aws-eks` module
HCL
18
star
9

terraform-aws-vpc-v5

⚠️ Please do not rely on this being stable - it is a working draft for what could potentially become v5 ⚠️
HCL
17
star
10

terraform-aws-module-template

Terraform module which creates <TODO> resources on AWS
Shell
16
star
11

vpc-reference-architecture

Reference VPC architectures for https://github.com/clowdhaus/terraform-aws-vpc-v4
HCL
9
star
12

terraform-module-data

Data about Terraform module usage
Rust
7
star
13

watcher

Event driven, serverless GitHub organization management service :octocat:
Python
6
star
14

terraform-aws-eks-report

Terraform module which reports on Amazon EKS clusters
HCL
4
star
15

aws-lambda-code-signing-action

GitHub action which uses AWS Code Signer to sign ✍🏼 AWS Lambda artifacts 📦 from your pipeline
TypeScript
3
star
16

terraform-aws-tags

Terraform module to manage organization wide standard tag structure and minimum required tags
HCL
3
star
17

terraform-aws-eks-migrate-v19-to-v20

What it says on the tin
HCL
3
star
18

terraform-aws-irsa-v2

Working proof-of-concept for AWS EKS IAM roles for service accounts (IRSA) v2
HCL
2
star
19

terraform-aws-vpc-endpoints

Terraform module which creates AWS VPC endpoint resources
HCL
1
star
20

homebrew-taps

clowdhaus homebrew taps
Shell
1
star
21

terraform-aws-eks-addons

⚠️ Experimental reference only ⚠️
HCL
1
star
22

actions

Collection of :octocat: GitHub actions
TypeScript
1
star
23

scratch

Rust
1
star
24

compress

GitHub action to compress 🗜️ executables
TypeScript
1
star
25

ecs-reference-architecture

Reference ECS architectures using https://github.com/terraform-aws-modules/terraform-aws-ecs
HCL
1
star
26

r8s

Scratch pad for interrogating Kubernetes cluster API compatibility prior to upgrade
Rust
1
star
27

amazon-eks-gpu-ami

Packer configuration for creating an Amazon EKS AMI for use with NVIDIA GPUs
HCL
1
star