From 5dcd4a1cfa4aa8564fe66cfd61ee32db4c9da7af Mon Sep 17 00:00:00 2001 From: Thomas di Luccio Date: Thu, 2 Apr 2026 14:57:10 +0200 Subject: [PATCH 1/5] Update copy of the Redis step --- frontend/src/commands.json | 3 +- frontend/src/steps/StepRedis.tsx | 69 ++++++++++++++++++++------------ 2 files changed, 45 insertions(+), 27 deletions(-) diff --git a/frontend/src/commands.json b/frontend/src/commands.json index 926951f..bc06918 100644 --- a/frontend/src/commands.json +++ b/frontend/src/commands.json @@ -37,7 +37,8 @@ }, "redis": { "user": { - "commit": "git commit -am \"Create a Redis service.\"", + "commit": "git commit -am \"Add Redis service\"", + "service_list": "upsun service:list -e staging", "push": "upsun push" }, "test": { diff --git a/frontend/src/steps/StepRedis.tsx b/frontend/src/steps/StepRedis.tsx index 0305d6e..3deb763 100644 --- a/frontend/src/steps/StepRedis.tsx +++ b/frontend/src/steps/StepRedis.tsx @@ -32,68 +32,85 @@ services: } - title="4. Add Redis to staging" + title="4. Add Redis to Staging" isDisabled={isDisabled} hideContent={hideContent} > <>

- Great! Your preview environment{" "} - {environment?.toLocaleLowerCase() === "production" ? ( - "" - ) : ( - staging - )}{" "} - is live and mirrors your production setup. + Great! Your staging environment is live + and is a complete, isolated copy of your production setup. You can now + test changes, add services, and debug without any risk to your main + site.

- We'll use this preview environment as a sandbox to stage the addition - of a Redis service. Once happy, we'll commit the changes using{" "} - git and then merge it into production. + Because Upsun uses Infrastructure as Code, you just need to update a + configuration file to provision the new service. Then, commit the + changes and merge them into production.

-

Next Step

  1. - Create the relationship. Open{" "} + Update your configuration +

    +

    + Open{" "} .upsun/config.yaml {" "} - and uncomment the following lines + and uncomment lines 83–88 to define the Redis service and its + relationship to your app.

  2. - Commit - + Commit the change +

    +

    + Save the file and commit it to your local Git history:

    +
  3. - Push - + + Deploy to the staging environment + +

    +

    + By pushing this change, Upsun instantly provisions a Redis + container in your staging environment. +

    + +

    + Verify the push: To see + your new Redis container active in the staging environment, run:

    +
  4. - Refresh this page when done. + Refresh this page after the push is complete.

From 50ec2f61be75aadefdd4d0ca5f7b0cfd67d114b7 Mon Sep 17 00:00:00 2001 From: Thomas di Luccio Date: Fri, 3 Apr 2026 13:57:53 +0200 Subject: [PATCH 2/5] Copywriting improvement of the merge-production step --- frontend/src/commands.json | 1 + frontend/src/steps/StepMergeProduction.tsx | 60 ++++++++++++---------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/frontend/src/commands.json b/frontend/src/commands.json index bc06918..e421892 100644 --- a/frontend/src/commands.json +++ b/frontend/src/commands.json @@ -48,6 +48,7 @@ "merge_production": { "user": { "merge": "upsun merge", + "service_list": "upsun service:list -e main", "resources_set": "upsun resources:set \\\n\t--count backend:2 \\\n\t--size redis_service:0.5 \\\n\t--disk backend:512,frontend:512 \\\n\t-e main", "get_url": "upsun url --primary -e main" }, diff --git a/frontend/src/steps/StepMergeProduction.tsx b/frontend/src/steps/StepMergeProduction.tsx index ae1676a..2ceec6b 100644 --- a/frontend/src/steps/StepMergeProduction.tsx +++ b/frontend/src/steps/StepMergeProduction.tsx @@ -19,44 +19,47 @@ const StepMergeProduction: React.FC = ({ } - title="5. Merge changes into production & scale up" + title="5. Merge changes into production and scale up" isDisabled={isDisabled} hideContent={hideContent} > <>

- Awesome! Your changes are live in{" "} - {environment?.toLocaleLowerCase()}. + Your changes move from staging to production in seconds. With Upsun, + your code and infrastructure updates happen in a single, atomic + operation—meaning zero downtime and zero surprises.

-

- Now it's time to merge the new Redis service into your production - environment and ensure your app can handle any traffic spike. -

-

Next Step

  1. - Deploy staging changes to production + Go live

    - Push your infrastructure and code changes to the live environment - in one go. + Merge your staging environment into the main production + environment. This syncs your code and provisions the new Redis + service in production instantly.

    +

    + Verify the merge: To see + your new Redis container active in the production environment, run: +

    +
  2. - Optimize your resources + Scale your resources instantly

    - Upsun gives you total control. You can{" "} - scale up or down anytime via the CLI or the - Console to meet your specific needs. Use this command to - horizontally scale your backend and vertically scale your - services: + Adjust your horizontal and vertical scaling in a single step. + Upsun updates your resources on the fly without taking your + application offline.

    = ({
  3. - Set it and forget it with Autoscaling + Autoscaling: Set it and forget it

    - Want to stay ahead of traffic? You can{" "} + Want to automate resource adjustments? You can{" "} = ({ > configure autoscaling {" "} - to let Upsun automatically adjust resources for you, ensuring your - applications always perform at their best without manual - intervention. + to let Upsun handle adjustments for you based on real-time + traffic.

  4. - Open the production frontend in your browser - + View your scaled production app +

    +

    + While your app's front end looks the same for this demo, your + infrastructure just grew. Return to the demo app frontend:

    +
From 539cbb46eef609f24985d2745a1a4e0bcc335984 Mon Sep 17 00:00:00 2001 From: Thomas di Luccio Date: Fri, 3 Apr 2026 14:06:03 +0200 Subject: [PATCH 3/5] Update Local step copy --- frontend/src/steps/StepLocalWorkflow.tsx | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/frontend/src/steps/StepLocalWorkflow.tsx b/frontend/src/steps/StepLocalWorkflow.tsx index b3bc485..d977934 100644 --- a/frontend/src/steps/StepLocalWorkflow.tsx +++ b/frontend/src/steps/StepLocalWorkflow.tsx @@ -37,21 +37,17 @@ const StepLocalWorkflow: React.FC = ({ > <>

- - Everything you see in the Console can be managed via the CLI. - {" "} - While the Console (UI) is great for a bird's-eye view, the CLI is - built to live where you do, in the terminal, making it the fastest way - to branch, test, and deploy without leaving your code. + Next, you'll connect to your new Upsun project. See how the CLI + brings the Console's power right to your terminal: you can branch, + test, and deploy without ever leaving your code.

-

Next Step

  1. - Install the Upsun CLI + Install the Upsun CLI

    - Choose your package manager to get the toolset on your machine. + Select your package manager to get the toolset:

    {tabs.map((tab) => ( @@ -76,12 +72,11 @@ const StepLocalWorkflow: React.FC = ({
  2. - Link your project + Link to your Upsun project

    - Run this to authenticate and download a local copy of your code. - This command connects your local environment directly to the cloud - project you just created. + Run this command to authenticate and connect with the project you + just created.

    Date: Fri, 3 Apr 2026 14:09:50 +0200 Subject: [PATCH 4/5] Update the Branch step copy --- frontend/src/steps/StepBranch.tsx | 32 ++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/frontend/src/steps/StepBranch.tsx b/frontend/src/steps/StepBranch.tsx index caaa306..fd18831 100644 --- a/frontend/src/steps/StepBranch.tsx +++ b/frontend/src/steps/StepBranch.tsx @@ -18,32 +18,34 @@ const StepBranch: React.FC = ({ isDisabled }) => { > <>

    - With Upsun, you can clone any environment to get a byte-for-byte copy - to use for staging, features, and bug fixes. + You can branch any environment to instantly create a byte-for-byte + replica of the stack (including code, database, and files) to safely + test changes, features, and bug fixes.

    - Before you make your first revision, let's create a new preview - environment called Staging. + Before you make your first revision, create a preview environment + called Staging.

    -

    Next Step

    1. - Create environment - + Create an environment

      +
    2. - Once deployed, open the environment in browser - + + When deployment is complete, open it in a browser +

      +
    From f4d800c193b67692dfc4a8e143c6635d8c3006ea Mon Sep 17 00:00:00 2001 From: Thomas di Luccio Date: Fri, 3 Apr 2026 14:24:06 +0200 Subject: [PATCH 5/5] Update final step copy --- frontend/src/steps/StepComplete.tsx | 105 +++++++++++++++------------- 1 file changed, 58 insertions(+), 47 deletions(-) diff --git a/frontend/src/steps/StepComplete.tsx b/frontend/src/steps/StepComplete.tsx index 68daeb3..0db561b 100644 --- a/frontend/src/steps/StepComplete.tsx +++ b/frontend/src/steps/StepComplete.tsx @@ -1,8 +1,6 @@ import React from "react"; import FeatureStep from "../components/FeatureStep"; import { ReactComponent as DoneIcon } from "../assets/utility/done.svg"; -import commands from "../commands.json"; -import CodeExample from "../components/CodeExample"; interface StepCompleteProps { isDisabled: boolean; @@ -23,57 +21,70 @@ const StepComplete: React.FC = ({ hideContent={hideContent} > <> -

    - 🎉 Kudos! You've aced the Upsun Demo! -

    +

    + Ready for Your Next Project +

    - You've just experienced the power of Upsun's Git-based workflow to - stage and deploy Redis seamlessly. -

    -

    - - You've used the Upsun CLI to merge a new service into production and - to match the resources you worked with in staging to that - environment. From here, you can{" "} - scale those resources to whatever you need. For - example, at this moment your production Redis service has 0.5 CPU. - You can scale down the amount of resources on the production Redis - service container with the following command: - - -

    -

    - Delete this project when ready using: - + You've seen the core Upsun workflow: Git-driven infrastructure, + instant staging environments, and on-the-fly scaling. Now, see how to + take your next project further.

    -

    What's next?

    -
      +

      What's Next?

      +
        +
      • + Deep Performance Insights: Every Upsun project + includes Blackfire, using built-in profiling and monitoring to show + how your code performs. +
      • +
      • + Automate Everything: Use Cron jobs to schedule + tasks directly in your{" "} + .upsun/config.yaml with the same ease + you used to add Redis. +
      • +
      • + Flexible Workflows: Connect your own CI/CD or use + our API to automate environment creation for every pull request. +
      • - - Migrate your application - + AI-Assisted Onboarding: Use the AI Configuration + Generator to analyze your code and automatically suggest the best{" "} + .upsun/config.yaml setup for your + next project.
      • -
      • - Explore Upsun's{" "} - - horizontal scalability features - - . +
      • + Vector-Ready Infrastructure: Deploy GenAI and RAG + apps instantly by provisioning managed services like Chroma, Qdrant, + or PostgreSQL with pgvector. +
      • +
      • + Conversational Ops: Connect Upsun to your favorite + AI assistant via our MCP server to query logs, check status, or + trigger deployments using natural language.
      -

      - Welcome to the Upsun Community! +

      Ready to build?

      + +

      + If you're finished with this demo, you can remove it anytime with{" "} + upsun project:delete.