Skip to content

Tutorial 4: Deploy Mode — Conversational Deploy Assistant

What you’ll accomplish: Deploy your project to the cloud provider of your choice through a conversational assistant that analyzes your codebase, helps you pick the right infrastructure, gathers credentials securely, and provisions everything — without touching a cloud console.

Time to complete: 10 to 30 minutes per deployment (depending on the number of services and providers).

Prerequisites: An Ileen account with a credit balance, and cloud provider credentials for the services you want to deploy to (AWS, GCP, Vercel, etc.).


Overview

Deploy Mode replaces manual DevOps with a conversational agent that works like a senior infrastructure engineer. You tell it what your project needs; it discovers the details, asks clarifying questions, and deploys everything.

ComponentWhat it does
💬 Deploy Assistant (chat)Analyzes your codebase, identifies infrastructure needs, asks where to deploy, gathers credentials interactively
🔐 Secrets PanelRight sidebar where you securely provide credentials for each provider — never typed into the chat
📊 SidebarLive status of selected providers, infrastructure plan, deploy URLs, and progress

Provider-agnostic: The Deploy Assistant works with any cloud provider — AWS, GCP, Vercel, Netlify, Railway, Fly.io, Azure, and more. It also supports managed services like MongoDB Atlas, Supabase, and Upstash. You choose where things go.

Multi-repo support: If your project spans multiple repositories (e.g. a backend API, a frontend, and a worker service), the Deploy Assistant handles all of them in a single deployment run.

Background job: Deploy Mode runs as a long-lived background job. You can safely close or refresh the tab while a deployment is in progress — the agent continues running on the backend and the result will appear in the conversation automatically once it completes.

Use the interactive demo below to walk through a complete deployment before running your own.

Interactive Demo🚀 Deploy
Step 1 / 6
🔐GCP Credentials
🚀Deploy Agent🔒
🔐 GCP Credentials Setup
Paste the contents of your GCP service account JSON key. The account needs the following roles:
roles/run.adminroles/iam.serviceAccountUserroles/storage.adminroles/cloudbuild.builds.editorroles/secretmanager.admin
{
  "type": "service_account",
  "project_id": "acme-prod-392410",
  "private_key_id": "●●●●●●●●",
  "private_key": "-----BEGIN RSA PRIVATE KEY-----\\n●●●●●●●●"
  ...
Save Credentials →
💡 Provide a GCP service account JSON with the necessary IAM roles. Ileen stores credentials encrypted and uses them only during deployment runs.

How it works

The Deploy Assistant follows a 6-phase conversational workflow:

  1. Discovery — The assistant analyzes every repository in your project, identifies the tech stack, frameworks, runtimes, and dependencies. It determines what external services are needed (databases, caches, storage, queues, CDN).

  2. Provider Selection — The assistant presents its findings and asks where you want to deploy. It asks about your team’s experience, budget constraints, scaling requirements, and whether you prefer managed services or self-hosted infrastructure. You choose the providers — the assistant never assumes.

  3. Infrastructure Planning — Based on your choices, the assistant creates a detailed plan listing every component, its target provider, and any inter-service wiring needed. You review and approve before anything is provisioned.

  4. Credential Gathering — The assistant lists the exact credentials and IAM permissions needed for each provider (never “admin access” — always specific, least-privilege). You provide credentials in the Secrets Panel sidebar, where they are encrypted and stored securely. Credentials never pass through the chat or appear in the assistant’s context.

  5. Deploying — The assistant provisions infrastructure, builds and deploys services, configures environment variables, wires services together, and reports progress in the chat.

  6. Verifying — Health checks, cross-service connectivity tests, and final URL reporting.


Step 1 — Select a project and start the assistant

  1. Open the Ileen app and click Deploy in the mode selector (sidebar footer).
  2. Select your project from the sidebar. The Deploy Assistant chat opens.
  3. Click Start Deploy to launch the analysis.

The assistant will clone your repositories, inspect the codebase, and begin the discovery phase.


Step 2 — Choose your providers

After analyzing your project, the assistant presents a summary of what it found:

“I found a FastAPI backend that needs PostgreSQL and Redis, and a React frontend. Where would you like to deploy each component?”

You’ll see clickable quick-reply buttons with the available options (only providers that are actually available appear). Click one — no typing needed.

For yes/no questions (like approving the infrastructure plan), you’ll see:

  • Yes, proceed — confirm and continue
  • No, change — go back and adjust

Of course, you can always type a custom answer if you prefer.


Step 3 — Review and approve the infrastructure plan

The assistant presents a complete plan before provisioning anything. For example:

## Deployment Plan
### Selected Providers
- **aws** (us-east-1): needs credentials
- **vercel**: needs credentials
### Infrastructure
- PostgreSQL DB (postgres) → aws [planned]
- Redis Cache (redis) → upstash [planned]

Review the plan. The sidebar updates live as the plan evolves. If something doesn’t look right, tell the assistant — it will revise the plan.


Step 4 — Provide credentials (Secrets Panel)

When the assistant needs credentials, a 🛡️ Go to Secrets Panel → button appears in the chat. Click it — the Secrets Panel in the right sidebar highlights to show you exactly where to go.

The panel shows which providers need credentials:

  • Configured (✅) — credentials already stored
  • Needs Credentials (🔑) — click to open the credential form

Each provider has a secure form with:

  • A format hint describing exactly what’s expected (e.g. “Paste a JSON object with access_key_id and secret_access_key”)
  • A masked password field with toggle to show/hide
  • A Store Securely button

The panel validates your input immediately — if you paste invalid JSON or a key that’s too short, you’ll see an error right away, before anything is sent to the server.

Click Store Securely. The credential is encrypted and stored — it never enters the chat. The provider moves to “Configured”, and the deployment resumes automatically.


Step 5 — Monitor the deployment

During deployment, a progress bar appears in the chat showing exactly which phase you’re in:

discovery → provider_selection → infrastructure_planning → credential_gathering → deploying → verifying → completed

Each step lights up 🟢 green as it’s completed. The current step shows an 🟠 orange spinner. Below the bar, a live status message keeps you informed: “Building Docker image…”, “Deploying backend to Cloud Run…”, “Configuring environment variables…”.

The left sidebar updates in real time — each infrastructure component goes from planneddeployingdeployed.

If a step fails, the assistant reports exactly what went wrong. The deployment may complete partially (some services deployed, some failed) — in that case you’ll see a Partial ⚠️ status, and you can use Fix & Redeploy to resolve the failing components.


Step 6 — Respond to input requests

Occasionally the assistant needs a decision it cannot make alone — for example, picking between two equivalent services, or confirming a destructive change. When this happens, the assistant pauses and asks in the chat. Answer directly — the deployment resumes automatically.


Step 7 — Access your live URLs

When the deployment finishes, the assistant confirms in chat and provides:

  • Primary service URL — the main entry point (typically the frontend)
  • Per-service URLs — individual endpoints for each service
  • A summary of all provisioned resources

The sidebar also lists all URLs organized by service. Your project is now live.


Fix and redeploy

If something is broken after deployment, or if you got a Partial ⚠️ result (some services failed):

  1. Describe the problem in the chat input (e.g. “The login page shows a 500 error”)
  2. Click the 🔧 Fix & Redeploy button
  3. The assistant identifies which repository has the bug, applies a minimal fix, commits and pushes, and redeploys the affected services

This works whether your deployment completed fully or partially — in both cases, the assistant only touches the services that need fixing.


Supported cloud providers

The Deploy Assistant works with any provider. Here are the most common ones:

ProviderTypical use case
GCP (Cloud Run)Containerized backends, full-stack apps with Docker
AWS (ECS)Enterprise backends, databases (RDS), caches (ElastiCache)
Azure (Container Apps)Microsoft ecosystem, enterprise deployments
VercelFrontend apps, Next.js, static sites
NetlifyStatic sites, Jamstack apps
RailwayFull-stack apps, quick prototyping
Fly.ioContainerized apps, edge deployments
MongoDB AtlasManaged MongoDB clusters
SupabasePostgreSQL + auth + storage
UpstashServerless Redis and Kafka

The assistant automatically detects which providers are available and only offers working options.


What’s next?