Skip to main content
Version: 2.0

Deploy Your First App

In this tutorial you'll deploy a sample web app into your CloudSpace, check on it, change its configuration, scale it, and roll back a bad change. These are the operations you'll use every day.

Time: about 15 minutes · You'll need: a tenant account with a Ready CloudSpace (see Customer onboarding).

We'll use podinfo, a tiny web app built for Kubernetes demos.

Step 1 — Open the Deploy Application wizard​

  1. In the sidebar, open Resources → Workloads.
  2. Make sure your CloudSpace is selected in the top bar.
  3. Select Deploy Application.

Step 2 — Describe the app​

Fill in the wizard:

FieldValue
Namehello
SourceContainer image — ghcr.io/stefanprodan/podinfo:6.7.0
Port9898
ResourcesCPU 100m / 250m, memory 64Mi / 128Mi
AutoscalingOff (we'll scale by hand later)
TLSOn

Select Deploy.

Deploying from source instead?

Choose GitHub repository as the source, pick your repository, and set the Dockerfile path. KubeOpera builds the image and creates a pipeline you can follow. Everything else in this tutorial works the same way.

Step 3 — Watch it go live​

The wizard shows four stages:

  1. Creating — your app's configuration is saved and manifests are generated and committed to Git.
  2. Syncing — Flux in your vCluster applies them.
  3. Starting — the pods start and become ready.
  4. Verifying — KubeOpera checks your app actually answers over HTTPS.

When it's done, select View live app. Your app is at https://hello-<your-cloudspace>.apps.kubeopera.io, with a valid certificate. (The first deploy takes a few minutes, mostly for the certificate.)

Step 4 — Check on it​

Open Workloads → hello. You'll see:

  • Status — replicas ready, from the live state of your vCluster.
  • Pods — each pod, its status and restarts.
  • Logs — live logs from your pods. Try refreshing your app's page and watch requests appear.
  • Events — what Kubernetes has done with your app.
  • Metrics and cost — resource use and what the app costs.

Step 5 — Change the configuration​

Let's give the app a custom message.

  1. Select Edit.
  2. Add an environment variable PODINFO_UI_MESSAGE = Hello from KubeOpera.
  3. Select Save and deploy.

The change goes through Git like the first deploy, creating a new revision. Reload your app — it shows your message.

Step 6 — Scale it​

Select Scale and set replicas to 3. Scaling, restarting and stopping apply immediately — you'll see the new pods in a few seconds.

Step 7 — Roll back a bad change​

Let's make a mistake on purpose.

  1. Edit the app and change the port to 8080 (podinfo doesn't listen there). Save and deploy.
  2. Watch the app become unhealthy on the Workloads page — and notice the AI Advisor flag it.
  3. Open Deployment History. Every revision is listed with what changed.
  4. Select the previous revision and choose Roll back.

KubeOpera restores the previous configuration through Git. Your app is healthy again in seconds.

Step 8 — Clean up (optional)​

Select Delete on the app and confirm. KubeOpera removes its manifests from Git, and Flux removes every resource it created.

What you learned​

  • Every app lives in your own vCluster and is delivered through Git.
  • Configuration changes create revisions you can roll back to.
  • Scale, restart and stop take effect immediately.
  • Logs, events, metrics and cost are all in one place.

Next steps​