Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clowdhaus/eksup
EKS cluster upgrade guidance
https://github.com/clowdhaus/eksup
cluster-upgrade eks eks-cluster kubernetes-upgrade upgrade
Last synced: about 1 month ago
JSON representation
EKS cluster upgrade guidance
- Host: GitHub
- URL: https://github.com/clowdhaus/eksup
- Owner: clowdhaus
- License: apache-2.0
- Created: 2022-11-08T20:28:10.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-05T14:19:56.000Z (7 months ago)
- Last Synced: 2024-05-06T14:44:26.916Z (7 months ago)
- Topics: cluster-upgrade, eks, eks-cluster, kubernetes-upgrade, upgrade
- Language: Rust
- Homepage: https://clowdhaus.github.io/eksup/
- Size: 4.52 MB
- Stars: 109
- Watchers: 3
- Forks: 10
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-repositories - clowdhaus/eksup - EKS cluster upgrade guidance (Rust)
README
# eksup
See the docs at [clowdhaus.github.io/eksup](https://clowdhaus.github.io/eksup/)
## Installation
[Archives of pre-compiled binaries for `eksup` are available for Windows, macOS and Linux.](https://github.com/clowdhaus/eksup/releases)
### Homebrew (macOS and Linux)
```sh
brew install clowdhaus/taps/eksup
```### Cargo (rust)
```sh
cargo install eksup
```### Source
`eksup` is written in Rust, so you'll need to grab a [Rust installation](https://www.rust-lang.org/) 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`:
```sh
git clone https://github.com/clowdhaus/eksup
cd eksup
cargo build --release
./target/release/eksup --version
0.9.0
```## 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:
```sh
cargo build
```To format the codebase:
If using nightly to use features defined in [rustfmt.toml](rustfmt.toml), run the following:
```sh
cargo +nightly fmt --all
```If using stable, run the following:
```sh
cargo fmt --all
```To execute lint checks:
```sh
cargo clippy --all-targets --all-features
```To run `eksup` locally for development, simply pass `eksup` commands and arguments after `cargo run --` as follows:
```sh
cargo run -- analyze --cluster --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:```sh
aws eks update-kubeconfig --name --region
```### Running Tests
To execute the tests provided, run the following from the project root directory:
```sh
cargo test --all
```