[package]
name = "fakecloud-elasticache"
description = "Amazon ElastiCache implementation for FakeCloud"
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
version.workspace = true

[dependencies]
fakecloud-aws = { workspace = true }
fakecloud-core = { workspace = true }
fakecloud-k8s = { workspace = true }
fakecloud-persistence = { workspace = true }
k8s-openapi = { workspace = true }
async-trait = { workspace = true }
chrono = { workspace = true }
http = { workspace = true }
parking_lot = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
form_urlencoded = "1"
serde = { workspace = true }
serde_json = { workspace = true }
tracing = { workspace = true }

[dev-dependencies]
bytes = { workspace = true }
# The opt-in k8s-integration test drives a real cluster directly.
kube = { workspace = true }

[features]
# Opt-in integration tests needing a real Kubernetes cluster (a local
# `kind` cluster works) with the redis:7-alpine image loaded. Run with:
#   FAKECLOUD_K8S_TEST=1 cargo test -p fakecloud-elasticache \
#       --features k8s-integration --test k8s_integration -- --test-threads=1
# Without the feature the test binary isn't built; with it, the first
# test hard-fails if FAKECLOUD_K8S_TEST is unset rather than silently
# skipping (see feedback_tests_never_silently_skip).
k8s-integration = []
