eksup 0.14.0

A CLI to aid in upgrading Amazon EKS clusters
Documentation
[package]
name = "eksup"
version = "0.14.0"
authors = ["Bryant Biggs <bryantbiggs@gmail.com>"]
description = "A CLI to aid in upgrading Amazon EKS clusters"
documentation = "https://github.com/clowdhaus/eksup"
homepage = "https://github.com/clowdhaus/eksup"
repository = "https://github.com/clowdhaus/eksup"
license = "Apache-2.0"
edition = "2024"
keywords = [
  "kubernetes",
  "eks",
]
categories = [
  "command-line-utilities",
  "text-processing",
]
exclude = ["/.github", ".gitignore", "docs", "examples", "tests"]

default-run = "eksup"

[[bin]]
name = "eksup"
path = "src/main.rs"

[dependencies]
anyhow = { version = "1.0", default-features = false, features = ["std"] }
aws-config = { version = "1.8", default-features = false, features = ["behavior-version-latest", "default-https-client", "rt-tokio", "credentials-process", "sso"] }
aws-sdk-autoscaling = { version = "1.116", default-features = false, features = ["rustls", "default-https-client", "rt-tokio"] }
aws-sdk-ec2 = { version = "1.227", default-features = false, features = ["rustls", "default-https-client", "rt-tokio"] }
aws-sdk-eks = { version = "1.131", default-features = false, features = ["rustls", "default-https-client", "rt-tokio"] }
aws-sdk-servicequotas = { version = "1.101", default-features = false, features = ["rustls", "default-https-client", "rt-tokio"] }
clap = { version = "4.6", default-features = false, features = ["std", "derive", "string", "color", "unstable-styles", "help", "usage", "error-context", "suggestions"] }
clap-verbosity-flag = { version = "3.0", default-features = false, features = ["tracing"] }
clap_complete = { version = "4.5", default-features = false }
clap_mangen = { version = "0.3", default-features = false }
globset = { version = "0.4", default-features = false }
indicatif = { version = "0.18", default-features = false, features = ["unicode-width"] }
handlebars = { version = "6.4", default-features = false, features = ["rust-embed"] }
# https://kube.rs/kubernetes-version/
k8s-openapi = { version = "0.27.1", default-features = false, features = ["earliest"] }
kube = { version = "3.1", default-features = false, features = ["client", "derive", "aws-lc-rs", "rustls-tls"] }
rust-embed = { version = "8.11", default-features = false, features = ["compression"] }
schemars = { version = "1.2.1", default-features = false, features = ["std", "derive"] }
serde = { version = "1.0", default-features = false, features = ["std", "derive"] }
serde_json = { version = "1.0", default-features = false, features = ["std"] }
serde_yaml = { version = "0.9", default-features = false }
tabled = { version = "0.20", default-features = false, features = ["derive"] }
tokio = { version = "1.52", default-features = false, features = ["macros", "rt-multi-thread"] }
tracing = { version = "0.1", default-features = false, features = ["std", "log-always"] }
tracing-subscriber = { version = "0.3", default-features = false, features = ["std", "fmt", "ansi"] }

[dev-dependencies]
insta = { version = "1", default-features = false, features = ["yaml"] }
tempfile = { version = "3", default-features = false, features = ["getrandom"] }

[package.metadata.release]
# Publish to crates.io. Binary distribution (GitHub releases + Homebrew) is
# handled separately by the release workflow, triggered by the tag that
# cargo-release pushes after a successful `cargo publish`.
publish = true

# Regenerate completions and man page BEFORE the version bump commit, so the
# committed `man/eksup.1` (which embeds the version in its `.TH` header) reflects
# the new version. `completions/*` don't embed the version but no harm regenerating.
pre-release-hook = ["cargo", "xtask", "generate-all"]

# Update the README's example version output (line 33 today) to match the new
# version. Cargo.toml's own `version =` is updated by cargo-release automatically.
pre-release-replacements = [
  { file = "../README.md", search = '^\d+\.\d+\.\d+$', replace = "{{version}}", exactly = 1 },
]

# Tag format: v0.14.0 (matches existing convention in release.yaml triggers).
tag-name = "v{{version}}"

# Conventional-commits prefix, matches recent project history.
pre-release-commit-message = "chore: release v{{version}}"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tarpaulin_include)"] }