create_full_cognito_microkernel_dynamodb

Function create_full_cognito_microkernel_dynamodb 

Source
pub async fn create_full_cognito_microkernel_dynamodb(
    cognito_config: OAuthProviderConfig,
    cognito_domain: String,
    region: String,
    user_pool_id: String,
    table_name: String,
    create_table: bool,
) -> Result<CognitoMicrokernelServerDynamoDB<DynamoDBStorage>, Box<dyn Error>>
Expand description

Create a fully configured microkernel server with Cognito OAuth provider and DynamoDB storage

Examples found in repository?
examples/oauth_cognito_dynamodb_mcp_server.rs (lines 87-94)
63async fn main() -> AppResult<()> {
64    // Load environment variables
65    dotenv::dotenv().ok();
66
67    // Initialize tracing
68    init_tracing()?;
69
70    tracing::info!("Starting MCP OAuth server with Cognito and DynamoDB storage...");
71
72    // Create Cognito OAuth configuration
73    let cognito_config = get_cognito_oauth_provider_config()?;
74
75    // Get DynamoDB configuration
76    let table_name =
77        env::var("DYNAMODB_TABLE_NAME").unwrap_or_else(|_| "oauth-storage".to_string());
78    let create_table = env::var("DYNAMODB_CREATE_TABLE")
79        .unwrap_or_else(|_| "true".to_string())
80        .parse::<bool>()
81        .unwrap_or(true);
82
83    // Log configuration
84    log_startup_info(&table_name, create_table);
85
86    // Create microkernel server with Cognito OAuth and DynamoDB storage
87    let microkernel = create_full_cognito_microkernel_dynamodb(
88        cognito_config,
89        get_cognito_domain()?,
90        get_cognito_region()?,
91        get_cognito_user_pool_id()?,
92        table_name,
93        create_table,
94    )
95    .await
96    .map_err(|e| {
97        remote_mcp_kernel::error::AppError::Internal(format!("Failed to create microkernel: {}", e))
98    })?;
99
100    // Start the microkernel server
101    let bind_address = get_bind_socket_addr()?;
102    microkernel.serve(bind_address).await?;
103
104    Ok(())
105}