Cargo Features
[dependencies]
tardis = { version = "0.1.0-rc.17", default-features = false, features = ["conf-remote", "digest", "aead", "block_modes", "base64", "crypto", "crypto-with-sm", "future", "tls", "reldb-core", "reldb-postgres", "reldb-mysql", "reldb-sqlite", "reldb", "web-server", "openapi-redoc", "openapi-rapidoc", "openapi-swagger", "web-client", "ws-client", "cache", "mq", "mail", "os", "fs", "process", "tracing", "tokio-console", "tracing-appender", "web-server-grpc", "cluster", "build-info", "opentelemetry-http", "test"] }
- default = async-trait, base64, tardis-macros
-
These default features are set whenever
tardis
is added without
somewhere in the dependency tree.default-features = false - conf-remote = async-trait, crypto, web-client
-
Affects
config_dto::FrameworkConfig.conf_center
,config::config_nacos
… - digest crypto? = hmac, md-5, sha1, sha2, sm3
-
Enables digest
Affects
crypto::crypto_digest
… - aead crypto? = aes-gcm, aes-gcm-siv, aes-siv
-
Enables aead
AES
Affects
crypto::crypto_aead
… - block_modes crypto? = aes, cbc, cipher, ecb
- base64 default
-
Affects
crypto::crypto_base64
,tardis::crypto
… - crypto conf-remote? crypto-with-sm? = aead, block_modes, digest, rsa
-
Affects
config_processor::decryption
,crypto::crypto_hex
,crypto::crypto_key
,crypto::crypto_main
,crypto::crypto_base64
,tardis::crypto
… - crypto-with-sm = crypto, libsm, num-bigint
-
Affects
crypto_main::TardisCrypto.sm4
,crypto_main::TardisCrypto.sm2
,crypto::crypto_sm2_4
… - future reldb-core? web-server? ws-client? = async-stream, async-trait, futures, futures-util
- tls ws-client? = native-tls
- reldb-core reldb? reldb-mysql? reldb-postgres? reldb-sqlite? = future, sea-orm, sqlparser, sqlx
-
Affects
tardis::db
… - reldb-postgres reldb? = reldb-core
-
Enables json-array and sqlx-postgres of sea-orm
RelDB
and reldb-postgres of tardis-macros
Tardis Macros
- reldb-mysql reldb? = reldb-core
-
Enables sqlx-mysql of sea-orm, reldb-mysql of tardis-macros
- reldb-sqlite reldb? = reldb-core
-
Enables sqlx-sqlite of sea-orm, reldb-sqlite of tardis-macros
- reldb = reldb-core, reldb-mysql, reldb-postgres, reldb-sqlite
- web-server cluster? web-server-grpc? = future, poem, poem-openapi, poem-openapi-derive
-
Affects
web::context_extractor
,web::uniform_error_mw
,web::web_resp
,web::web_server
,web::web_validation
… - openapi-redoc
-
Enables redoc of poem-openapi
Web Server
- openapi-rapidoc
-
Enables rapidoc of poem-openapi
- openapi-swagger
-
Enables swagger-ui of poem-openapi
- web-client conf-remote? = reqwest
-
Affects
tardis::search
,web::web_client
… - ws-client cluster? = future, tls, tokio-tungstenite
-
Affects
web::ws_client
… - cache cluster? = deadpool-redis, futures-util, redis
-
Affects
tardis::cache
… - mq = amq-protocol-types, async-global-executor, futures-util, lapin
-
Affects
tardis::mq
… - mail = lettre
-
Affects
tardis::mail
… - os = anyhow, async-trait, rust-s3, urlencoding
-
Affects
tardis::os
… - fs
-
Enables fs and io-util of tokio
Tokio
- process
- tracing = opentelemetry, opentelemetry-http, opentelemetry-otlp, opentelemetry_sdk, tracing-opentelemetry
-
Enables optional poem
Affects
tracing::HeaderInjector
,tracing::HeaderExtractor
,tracing::TracingConfig.endpoint
,tracing::TracingConfig.protocol
,tracing::TracingConfig.server_name
,tracing::TracingConfig.headers
,log::LogConfig.tracing
… - tokio-console = console-subscriber
- tracing-appender
-
Enables tracing-appender
Affects
log::LogConfig.tracing_appender
… - web-server-grpc = web-server
-
Enables poem-grpc
Affects
module::WebServerGrpcModule
… - cluster = cache, web-server, ws-client
- build-info = git-version
-
Affects
utils::build_info
… - opentelemetry-http tracing?
-
Enables opentelemetry-http ^0.13
- test = testcontainers, testcontainers-modules
-
Affects
tardis::test
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- urlencoding os?
- tardis-macros default reldb-mysql? reldb-postgres? reldb-sqlite?
- console-subscriber tokio-console?
- tracing-opentelemetry tracing?
-
Enables tracing-opentelemetry ^0.25
Tracing
- opentelemetry tracing?
-
Enables opentelemetry ^0.24
- opentelemetry_sdk tracing?
-
Enables opentelemetry_sdk ^0.24
- opentelemetry-otlp tracing?
-
Enables opentelemetry-otlp ^0.17
- native-tls tls?
-
Enables native-tls
TLS
- cipher block_modes?
-
Enables cipher
Crypto
- sha1 digest?
-
Enables sha1
Digest see https://github.com/RustCrypto/hashes
- sha2 digest?
- md-5 digest?
-
Enables md-5
md5 is no longer considered secure
- sm3 digest?
-
Enables sm3
this sm3 lib support digest trait
- hmac digest?
- rsa crypto?
-
Enables rsa
RSA
Affects
crypto::crypto_rsa
… - aes block_modes?
- aes-gcm-siv aead?
- aes-gcm aead?
- aes-siv aead?
- cbc block_modes?
-
Enables cbc
block-mode
- ecb block_modes?
- libsm crypto-with-sm?
- num-bigint crypto-with-sm?
- futures future?
-
Enables futures
Future
- async-stream future?
- futures-util cache? future? mq?
- async-trait default conf-remote? future? os?
- sea-orm reldb-core? reldb-mysql? reldb-postgres? reldb-sqlite?
- sqlx reldb-core?
- sqlparser reldb-core?
- poem-openapi openapi-rapidoc? openapi-redoc? openapi-swagger? web-server?
- poem-openapi-derive web-server?
- poem web-server?
- reqwest web-client?
-
Enables reqwest
Web Client
- tokio-tungstenite ws-client?
-
Enables tokio-tungstenite ^0.24
Websocket Client
- redis cache?
-
Enables redis
Redis
- deadpool-redis cache?
- lapin mq?
-
Enables lapin
Rabbit
- amq-protocol-types mq?
- async-global-executor mq?
- lettre mail?
-
Enables lettre
Mail
- rust-s3 os?
- anyhow os?
- testcontainers test?
-
Enables testcontainers
Test
update this may cause break changes - testcontainers-modules test?
- git-version build-info?
-
Enables git-version
Debug