11 unstable releases (3 breaking)
0.4.1 | Nov 28, 2023 |
---|---|
0.4.0 | Oct 4, 2023 |
0.3.3 | Aug 22, 2023 |
0.3.2 | Jul 19, 2023 |
0.1.1-alpha | Feb 2, 2023 |
#1058 in Command line utilities
43 downloads per month
110KB
2.5K
SLoC
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.4.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
Dependencies
~153MB
~2.5M SLoC