Infrastructure Plans
An infrastructure plan is the AI-generated blueprint for deploying your application. It defines every aspect of the deployment — from server specifications to Docker configurations to networking.
What's in a plan
An infrastructure plan contains:
Server configuration
The plan specifies the dedicated server your application will run on:
| Setting | Description |
|---|---|
| Server type | Hardware specifications (CPU, RAM, storage) |
| Location | Datacenter region for optimal latency |
| Operating system | Typically Ubuntu 22.04 LTS |
| Commercial range | Server tier (entry-level, business, enterprise) |
Service assignments
Each service is assigned to a server with its configuration:
- Docker image — Build configuration or registry reference
- Port mappings — Container port to host port mappings
- Resource limits — CPU and memory constraints
- Restart policy — What happens when a container crashes
- Volumes — Persistent data storage
Networking
- Reverse proxy — Nginx or Traefik configuration for routing
- Internal networking — Service-to-service communication
- External access — Which ports are publicly accessible
- Domain mapping — Which domains point to which services
Environment variables
All environment variables for each service, including:
- User-provided values
- Auto-generated values (passwords, tokens)
- Cross-service references (database URLs, service endpoints)
Health checks
Each service has a health check configuration:
Viewing the plan
The infrastructure plan is displayed in the Infrastructure tab on the right sidebar of the chat interface. It provides:
- Visual overview of servers and service assignments
- Detailed configuration for each component
- Server specifications with hardware details
- Network topology showing service relationships
Modifying plans
Plans are fully editable through the chat interface. Common modifications:
Change server size
"Use a server with 32GB RAM instead of 16GB"
Change location
"Move the server to the US East datacenter"
Add a service
"Add a Redis cache to the infrastructure plan"
Change Docker configuration
"Use Alpine-based images to reduce size"
Modify networking
"Expose the API on port 8080 instead of 3000"
Adjust health checks
"Change the health check interval to 60 seconds"
After each modification, the AI updates the plan and shows you the changes. You can keep iterating until the plan matches your requirements.
Plan states
Plans go through several states:
| State | Description |
|---|---|
| Draft | Plan is being generated or modified |
| Ready | Plan is complete and ready for review |
| Approved | You've approved the plan for deployment |
| Executing | Deployment is in progress |
| Completed | Deployment finished successfully |
| Stale | Services changed after plan was created |
Stale plans
A plan becomes stale if you modify services after the plan was generated. For example, if you add a new service or change environment variables, the existing plan may not account for these changes.
When a plan is stale, Hydron notifies you and offers to regenerate it with the updated service configurations.
Approving a plan
When you're satisfied with the plan:
- Review all sections in the Infrastructure panel
- Verify server specs, services, and environment variables
- Click Approve or tell the AI "Approve the plan"
- The deployment process begins automatically
Once approved, the plan is locked and deployment starts. You can still stop or pause the deployment if needed.
Multiple servers
For larger applications, a plan can include multiple servers. The AI determines the optimal distribution of services across servers based on resource requirements, security considerations, and performance.
Best practices
- Review carefully before approving — The plan determines your entire infrastructure
- Ask questions — If anything is unclear, ask the AI to explain specific choices
- Right-size servers — Don't over-provision. You can always upgrade later
- Check environment variables — Ensure all required values are set before deploying
- Consider location — Choose a datacenter close to your users for lower latency