[package]
edition = "2024"
rust-version = "1.95.0"
name = "did-hosting-control"
version = "0.10.1"
authors = ["Glenn Gore <glenn@affinidi.com>"]
build = "build.rs"
include = [
"src/**/*",
"tests/**/*",
"ui-dist/**/*",
"build.rs",
"README.md",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "DID Hosting Control Plane — Unified management UI and service registry"
homepage = "https://affinidi.com/"
readme = "README.md"
keywords = [
"ssi",
"affinidi",
"webvh",
]
license = "Apache-2.0"
repository = "https://github.com/affinidi/did-hosting-service"
[features]
aws-secrets = [
"dep:aws-sdk-secretsmanager",
"dep:aws-config",
"did-hosting-common/aws-secrets",
]
azure-secrets = [
"dep:azure_security_keyvault_secrets",
"dep:azure_identity",
"dep:azure_core",
"dep:futures",
"did-hosting-common/azure-secrets",
]
default = [
"keyring",
"store-fjall",
"ui",
]
gcp-secrets = [
"dep:google-cloud-secretmanager-v1",
"dep:google-cloud-auth",
"dep:bytes",
"did-hosting-common/gcp-secrets",
]
k8s-secrets = ["did-hosting-common/k8s-secrets"]
keyring = ["did-hosting-common/keyring"]
method-webs = ["did-hosting-common/method-webs"]
metrics = ["did-hosting-common/metrics"]
store-cosmosdb = [
"dep:azure_data_cosmos",
"dep:azure_core",
"dep:futures",
"did-hosting-common/store-cosmosdb",
]
store-dynamodb = [
"dep:aws-sdk-dynamodb",
"dep:aws-config",
"did-hosting-common/store-dynamodb",
]
store-firestore = [
"dep:firestore",
"dep:futures",
"did-hosting-common/store-firestore",
]
store-fjall = [
"dep:fjall",
"did-hosting-common/store-fjall",
]
store-redis = [
"dep:redis",
"did-hosting-common/store-redis",
]
test-support = ["dep:tempfile"]
ui = [
"dep:rust-embed",
"dep:mime_guess",
]
vault-secrets = ["did-hosting-common/vault-secrets"]
[lib]
name = "did_hosting_control"
path = "src/lib.rs"
[[bin]]
name = "did-hosting-control"
path = "src/main.rs"
[[test]]
name = "authenticate_session_key"
path = "tests/authenticate_session_key.rs"
[[test]]
name = "authenticate_v3_refresh_v2"
path = "tests/authenticate_v3_refresh_v2.rs"
[[test]]
name = "change_owner_integration"
path = "tests/change_owner_integration.rs"
[[test]]
name = "didcomm_dispatcher"
path = "tests/didcomm_dispatcher.rs"
[[test]]
name = "didcomm_e2e_smoke"
path = "tests/didcomm_e2e_smoke.rs"
[[test]]
name = "health_route"
path = "tests/health_route.rs"
[[test]]
name = "https_trust_task_proofs"
path = "tests/https_trust_task_proofs.rs"
[[test]]
name = "mediator_replication_smoke"
path = "tests/mediator_replication_smoke.rs"
[[test]]
name = "multi_domain_acl"
path = "tests/multi_domain_acl.rs"
[[test]]
name = "no_rest_surface"
path = "tests/no_rest_surface.rs"
[[test]]
name = "one_inbound_router"
path = "tests/one_inbound_router.rs"
[[test]]
name = "rate_limit_429"
path = "tests/rate_limit_429.rs"
[[test]]
name = "self_managed_provisioning"
path = "tests/self_managed_provisioning.rs"
[[test]]
name = "service_badge_backfill"
path = "tests/service_badge_backfill.rs"
[[test]]
name = "trust_task_infra"
path = "tests/trust_task_infra.rs"
[[test]]
name = "vta_provisioned_auth"
path = "tests/vta_provisioned_auth.rs"
[dependencies.affinidi-data-integrity]
version = "0.8"
[dependencies.affinidi-did-resolver-cache-sdk]
version = "0.8.38"
[dependencies.affinidi-messaging-didcomm]
version = "0.15.10"
[dependencies.affinidi-messaging-didcomm-service]
version = "0.22.0"
features = ["tsp"]
[dependencies.affinidi-net-guard]
version = "0.1"
[dependencies.affinidi-secrets-resolver]
version = "0.5"
[dependencies.affinidi-tdk]
version = "0.27"
[dependencies.affinidi-tdk-common]
version = "0.7"
[dependencies.affinidi-tsp]
version = "0.2"
features = ["messaging-core"]
[dependencies.agent-names]
version = "0.1.3"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-config]
version = "1"
features = ["behavior-version-latest"]
optional = true
[dependencies.aws-sdk-dynamodb]
version = "1"
optional = true
[dependencies.aws-sdk-secretsmanager]
version = "1"
optional = true
[dependencies.axum]
version = "0.8"
[dependencies.axum-extra]
version = "0.12"
features = ["typed-header"]
[dependencies.azure_core]
version = "1.0"
optional = true
[dependencies.azure_data_cosmos]
version = "1"
features = ["key_auth"]
optional = true
[dependencies.azure_identity]
version = "1.0"
optional = true
[dependencies.azure_security_keyvault_secrets]
version = "1.0"
optional = true
[dependencies.bip39]
version = "3"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.dialoguer]
version = "0.12"
[dependencies.did-hosting-common]
version = "0.10"
features = [
"server-core",
"passkey",
"setup-wizard",
]
[dependencies.ed25519-dalek]
version = "3"
[dependencies.firestore]
version = "0.61"
optional = true
[dependencies.fjall]
version = "3"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.google-cloud-auth]
version = "1"
optional = true
[dependencies.google-cloud-secretmanager-v1]
version = "1"
optional = true
[dependencies.jsonwebtoken]
version = "10"
features = ["rust_crypto"]
[dependencies.mime_guess]
version = "2"
optional = true
[dependencies.multibase]
version = "0.9"
[dependencies.rand]
version = "0.10"
[dependencies.redis]
version = "1.0"
features = [
"tokio-comp",
"aio",
]
optional = true
[dependencies.reqwest]
version = "0.13"
features = ["json"]
[dependencies.rust-embed]
version = "8"
features = ["compression"]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_json_canonicalizer]
version = "0.4"
[dependencies.sha2]
version = "0.11"
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"sync",
"signal",
]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.toml]
version = "1.0"
[dependencies.tower-http]
version = "0.7"
features = ["trace"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.trust-tasks-didcomm]
version = "0.32.2"
default-features = false
[dependencies.trust-tasks-https]
version = "0.32.2"
features = [
"server",
"client",
"jwt",
]
default-features = false
[dependencies.trust-tasks-proof]
version = "0.32.2"
features = ["affinidi"]
default-features = false
[dependencies.trust-tasks-rs]
version = "0.32.2"
features = ["validate"]
default-features = false
[dependencies.url]
version = "2"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dependencies.vta-sdk]
version = "0.72.0"
features = [
"session",
"provision-integration",
"provision-client",
"client",
"tsp",
]
[dependencies.vti-common]
version = "0.48"
default-features = false
[dependencies.webauthn-rs]
version = "0.5"
features = ["danger-allow-state-serialisation"]
[dev-dependencies.affinidi-messaging-test-mediator]
version = "0.43.0"
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.base64]
version = "0.23"
[dev-dependencies.didwebvh-rs]
version = "0.8"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.openssl]
version = "0.10"
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[dev-dependencies.trust-tasks-rs]
version = "0.32.2"
features = ["validate"]
default-features = false