Skip to content

Commit 5a9de9b

Browse files
Alex Holmbergclaude
authored andcommitted
feat(11.3-02): add deployment recommendation engine
Create intelligent deployment recommendation module that: - Selects provider based on availability and existing infrastructure - Selects target (Cloud Runner vs K8s) based on project analysis - Selects machine type based on framework memory requirements (JVM=high, Python=medium, Node/Go/Rust=low) - Selects region with user hint support - Selects port from best detection source - Includes health check path when detected - Calculates confidence score - Provides alternatives for user customization Includes 9 comprehensive tests covering Express, Spring Boot, K8s detection, port fallback, health endpoints, and alternatives. Co-Authored-By: Claude <noreply@anthropic.com>
1 parent aceeef7 commit 5a9de9b

2 files changed

Lines changed: 785 additions & 0 deletions

File tree

src/wizard/mod.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,42 @@
22
//!
33
//! Provides a step-by-step TUI wizard for deploying services to the Syncable platform.
44
5+
mod cloud_provider_data;
56
mod cluster_selection;
67
mod config_form;
78
mod dockerfile_selection;
89
mod environment_creation;
10+
mod environment_selection;
11+
mod infrastructure_selection;
912
mod orchestrator;
1013
mod provider_selection;
14+
pub mod recommendations;
1115
mod registry_provisioning;
1216
mod registry_selection;
1317
mod render;
18+
mod repository_selection;
1419
mod target_selection;
1520

21+
pub use cloud_provider_data::{
22+
get_default_machine_type, get_default_region, get_machine_types_for_provider,
23+
get_regions_for_provider, CloudRegion, MachineType,
24+
};
1625
pub use cluster_selection::{select_cluster, ClusterSelectionResult};
1726
pub use config_form::{collect_config, ConfigFormResult};
1827
pub use dockerfile_selection::{select_dockerfile, DockerfileSelectionResult};
1928
pub use environment_creation::{create_environment_wizard, EnvironmentCreationResult};
29+
pub use environment_selection::{select_environment, EnvironmentSelectionResult};
30+
pub use infrastructure_selection::{select_infrastructure, InfrastructureSelectionResult};
2031
pub use orchestrator::{run_wizard, WizardResult};
2132
pub use provider_selection::{
2233
get_provider_deployment_statuses, select_provider, ProviderSelectionResult,
2334
};
2435
pub use registry_provisioning::{provision_registry, RegistryProvisioningResult};
2536
pub use registry_selection::{select_registry, RegistrySelectionResult};
37+
pub use repository_selection::{select_repository, RepositorySelectionResult};
38+
pub use recommendations::{
39+
recommend_deployment, DeploymentRecommendation, MachineOption, ProviderOption,
40+
RecommendationAlternatives, RecommendationInput, RegionOption,
41+
};
2642
pub use render::{count_badge, display_step_header, status_indicator, wizard_render_config};
2743
pub use target_selection::{select_target, TargetSelectionResult};

0 commit comments

Comments
 (0)