[package] name = "barycenter" version = "0.2.0-alpha.13" edition = "2021" license = "MIT OR Apache-2.0" description = "OpenID Connect IdP with federation, property storage, and auto-registration the center of gravity between multiple objects." repository = "https://github.com/CloudNebulaProject/barycenter" homepage = "https://github.com/CloudNebulaProject/barycenter" documentation = "https://github.com/CloudNebulaProject/barycenter/blob/main/README.md" keywords = ["openid", "oauth2", "identity", "authentication", "oidc"] categories = ["authentication", "web-programming"] [dependencies] axum = { version = "0.8", features = ["json", "form"] } tokio = { version = "1", features = ["full"] } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } clap = { version = "4", features = ["derive"] } miette = { version = "7", features = ["fancy"] } thiserror = "1" config = "0.14" serde = { version = "1", features = ["derive"] } serde_json = "1" serde_with = "3" # SeaORM for SQLite and PostgreSQL sea-orm = { version = "1", default-features = false, features = ["sqlx-sqlite", "sqlx-postgres", "runtime-tokio-rustls", "macros"] } sea-orm-migration = { version = "1", features = ["sqlx-sqlite", "sqlx-postgres", "runtime-tokio-rustls"] } migration = { path = "migration" } # JOSE / JWKS & JWT josekit = "0.10" chrono = { version = "0.4", features = ["serde", "clock"] } time = "0.3" rand = "0.8" base64ct = { version = "1", features = ["alloc"] } anyhow = "1" sha2 = "0.10" serde_urlencoded = "0.7" # Password hashing argon2 = "0.5" # Rate limiting tower = "0.5" tower_governor = "0.4" # Validation regex = "1" url = "2" # GraphQL Admin API seaography = { version = "1", features = ["with-decimal", "with-chrono", "with-uuid"] } async-graphql = "7" async-graphql-axum = "7" # Background job scheduler tokio-cron-scheduler = "0.13" [dev-dependencies] openidconnect = { version = "4", features = ["reqwest-blocking"] } oauth2 = "5" reqwest = { version = "0.12", features = ["blocking", "json", "cookies"] } urlencoding = "2" [profile.release] debug = 1 # cargo-release configuration [package.metadata.release] # Skip publishing to crates.io publish = false # Ensure version is updated in Cargo.toml pre-release-commit-message = "chore: release {{version}}" # Create a git tag tag-message = "chore: release {{version}}" tag-name = "v{{version}}" # Push changes and tags push = true # Require branch to be main allow-branch = ["main"] # Run tests before releasing pre-release-replacements = [ { file = "CHANGELOG.md", search = "## \\[Unreleased\\]", replace = "## [Unreleased]\n\n## [{{version}}] - {{date}}", exactly = 1 }, { file = "deploy/helm/barycenter/Chart.yaml", search = "version: .*", replace = "version: {{version}}" }, { file = "deploy/helm/barycenter/Chart.yaml", search = "appVersion: .*", replace = "appVersion: \"{{version}}\"" }, ]