[package]
edition = "2024"
name = "assay-engine"
version = "0.5.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Standalone workflow + auth + dashboard HTTP server on PostgreSQL 18 + SQLite. Embeddable as a library, or run as a binary."
readme = false
keywords = [
"workflow",
"auth",
"oidc",
"zanzibar",
"postgres",
]
categories = [
"asynchronous",
"database",
"web-programming::http-server",
]
license = "Apache-2.0"
repository = "https://github.com/developerinlondon/assay"
resolver = "2"
[features]
auth-jwt = ["assay-auth/auth-jwt"]
auth-oidc = ["assay-auth/auth-oidc"]
auth-oidc-provider = ["assay-auth/auth-oidc-provider"]
auth-passkey = ["assay-auth/auth-passkey"]
auth-password = ["assay-auth/auth-password"]
auth-session = ["assay-auth/auth-session"]
auth-zanzibar = ["assay-auth/auth-zanzibar"]
backend-postgres = [
"assay-workflow/backend-postgres",
"assay-auth/backend-postgres",
"assay-vault?/backend-postgres",
]
backend-sqlite = [
"assay-workflow/backend-sqlite",
"assay-auth/backend-sqlite",
"assay-vault?/backend-sqlite",
]
default = [
"backend-postgres",
"backend-sqlite",
"server",
"auth-jwt",
"auth-session",
"auth-password",
"auth-passkey",
"auth-oidc",
"auth-oidc-provider",
"auth-zanzibar",
"vault",
]
server = ["dep:clap"]
vault = [
"dep:assay-vault",
"assay-vault/vault",
"vault-kv",
"vault-transit",
"vault-collections",
"vault-share",
"vault-bitwarden-compat",
"vault-sealing-shamir",
"vault-audit-forwarding",
"vault-dynamic-postgres",
]
vault-audit-forwarding = ["assay-vault?/vault-audit-forwarding"]
vault-bitwarden-compat = ["assay-vault?/vault-bitwarden-compat"]
vault-collections = ["assay-vault?/vault-collections"]
vault-dynamic-postgres = ["assay-vault?/vault-dynamic-postgres"]
vault-kv = ["assay-vault?/vault-kv"]
vault-sealing-hsm = ["assay-vault?/vault-sealing-hsm"]
vault-sealing-shamir = ["assay-vault?/vault-sealing-shamir"]
vault-share = ["assay-vault?/vault-share"]
vault-transit = ["assay-vault?/vault-transit"]
[lib]
name = "assay_engine"
path = "src/lib.rs"
[[bin]]
name = "assay-engine"
path = "src/bin/assay-engine.rs"
required-features = ["server"]
[[test]]
name = "engine_smoke"
path = "tests/engine_smoke.rs"
[dependencies.anyhow]
version = "1"
[dependencies.assay-auth]
version = "0.5"
[dependencies.assay-dashboard]
version = "0.4"
[dependencies.assay-domain]
version = "0.2"
[dependencies.assay-vault]
version = "0.4"
optional = true
default-features = false
[dependencies.assay-workflow]
version = "0.4"
[dependencies.axum]
version = "0.8"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
optional = true
[dependencies.openssl]
version = "0.10"
features = ["vendored"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"postgres",
"sqlite",
]
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "0.9"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.url]
version = "2"
[dependencies.uuid]
version = "1.18"
features = [
"v7",
"serde",
]
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls",
]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]