admin: expose community admin lib target

This commit is contained in:
github-ops
2026-05-15 08:02:32 +00:00
parent a1e90585b1
commit 7ebe8cae22
5 changed files with 27 additions and 28 deletions
Generated
+10 -10
View File
@@ -4,7 +4,7 @@ version = 4
[[package]]
name = "admin-api"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"argon2",
"async-trait",
@@ -384,7 +384,7 @@ dependencies = [
[[package]]
name = "crank-adapter-rest"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"async-trait",
"axum",
@@ -399,7 +399,7 @@ dependencies = [
[[package]]
name = "crank-community-auth"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"argon2",
"async-trait",
@@ -417,7 +417,7 @@ dependencies = [
[[package]]
name = "crank-community-mcp"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"async-trait",
"axum",
@@ -440,7 +440,7 @@ dependencies = [
[[package]]
name = "crank-core"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"async-trait",
"serde",
@@ -453,7 +453,7 @@ dependencies = [
[[package]]
name = "crank-mapping"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"crank-core",
"serde",
@@ -464,7 +464,7 @@ dependencies = [
[[package]]
name = "crank-registry"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"crank-core",
"crank-mapping",
@@ -480,7 +480,7 @@ dependencies = [
[[package]]
name = "crank-runtime"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"aes-gcm",
"async-trait",
@@ -505,7 +505,7 @@ dependencies = [
[[package]]
name = "crank-schema"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"crank-core",
"serde",
@@ -1273,7 +1273,7 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]]
name = "mcp-server"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"async-trait",
"axum",
+1 -1
View File
@@ -17,7 +17,7 @@ resolver = "3"
edition = "2024"
license = "MIT"
rust-version = "1.85"
version = "0.3.0"
version = "0.3.1"
[workspace.dependencies]
aes-gcm = "0.10"
+1
View File
@@ -164,4 +164,5 @@ Progress:
- Phase 1 / task `1.6`: Community test surface уже приведен к честному baseline — `test = false` удален ранее, premium-only tests вычищены, `just verify` проходит на текущем составе workspace
- Phase 1 / task `1.7`: workspace version bumped to `0.2.0`; release gate пройден (`just verify`, `npm run build`, `npm run e2e`), release commit и tag `v0.2.0` подготовлены в `crank-community`
- Phase 2 dependency slice: `IdentityProvider` seam widened to cover `SSO/TOTP` with default `NotSupportedForProvider` methods and shared public DTOs for authorize/callback/two-factor flows; workspace version bumped to `0.3.0` for downstream enterprise consumption
- Phase 2 dependency slice: `apps/admin-api` now exposes a reusable lib target (`src/lib.rs`), so downstream private repos can depend on `build_app`, `AppState`, `AdminServiceBuilder`, and auth/state modules without copying the Community admin app
- backward-compatible alias `CommunityMachineCredentialVerifier` сохранен, поведение Community не изменено
+9
View File
@@ -0,0 +1,9 @@
pub mod app;
pub mod auth;
pub mod error;
pub mod rate_limit;
pub mod request_context;
pub mod routes;
pub mod service;
pub mod state;
pub mod storage;
+6 -17
View File
@@ -1,31 +1,20 @@
mod app;
mod auth;
mod error;
mod rate_limit;
mod request_context;
mod routes;
mod service;
mod state;
mod storage;
use std::{env, net::SocketAddr, path::PathBuf};
use crank_community_auth::PasswordIdentityProvider;
use crank_registry::{PostgresPoolConfig, PostgresRegistry};
use sqlx::postgres::PgConnectOptions;
use tokio::net::TcpListener;
use tracing::info;
use crate::{
use admin_api::{
app::build_app,
auth::{AuthSettings, BootstrapAdminConfig},
service::AdminServiceBuilder,
state::AppState,
};
use crank_community_auth::PasswordIdentityProvider;
use crank_registry::{PostgresPoolConfig, PostgresRegistry};
use crank_runtime::{
RequestRateLimitConfig, RequestRateLimiter, RuntimeCacheConfig, RuntimeCacheStores,
RuntimeLimits, SecretCrypto, community_default,
};
use sqlx::postgres::PgConnectOptions;
use tokio::net::TcpListener;
use tracing::info;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {