Skip to content

Getting Started for Cloud Users#

Quick start guide for developers and teams using Stakater Cloud Orchestrator.

Emma is a developer at ACME Corporation who needs to provision a virtual machine for her development environment. SCO, running on their organization's Kubernetes infrastructure, provides self-service access to VMs and Kubernetes clusters. This guide walks through the essential steps to get started with SCO as a cloud user.

Prerequisites#

Before you begin, you need:

  • Access to your organization's SCO platform
  • Login credentials provided by your platform administrator
  • Basic understanding of Kubernetes concepts (optional but helpful)

Step 1: Log In to Your Organization#

Navigate to your organization's SCO console URL (provided by your administrator).

Log in using your credentials. Each organization has its own isolated authentication realm, so you'll only see resources within your organization.

Note

Your administrator will provide the console URL and initial login credentials. You may be able to use SSO if configured.

Step 2: Request a Project#

Projects are isolated environments where you deploy your applications and provision services. Projects are created by organization administrators who can assign them to individual users or groups.

Request a Project from Your Admin#

Contact your organization administrator to request a project. Provide:

  • Project Name: my-app-dev
  • Purpose: Development environment for your application
  • Access Requirements: Individual access or shared with a team

Admin Creates the Project#

Your administrator will create the project using the project package:

apiVersion: tenant.cloud.stakater.com/v1
kind: Project
metadata:
  name: my-app-dev
spec:
  parameters:
    name: my-app-dev
    network:
      name: app-network
      cidr: 10.100.0.0/16
    tenantQuota: small
    access:
      - role: admin
        users:
          - emma@acmecorp.example.com
      - role: view
        groups:
          - developers

Once created, verify your project access:

kubectl get projects

Expected output:

NAME          DISPLAY NAME                   STATUS   AGE
my-app-dev    My Application - Development   Ready    30s

Step 3: Browse the Marketplace#

Explore available services in the marketplace.

Using the Console#

  1. Navigate to "Marketplace" in the sidebar
  2. Browse available solutions
  3. View solution details, documentation, and configuration options

Using kubectl#

List available solutions:

kubectl get solutions

View details about a specific solution:

kubectl describe solution virtualmachine

Step 4: Provision a Virtual Machine#

Let's provision a virtual machine for Emma's development environment.

Using the Console#

  1. In the marketplace, click on "Virtual Machine"
  2. Click "Provision"
  3. Select your project: my-app-dev
  4. Configure the VM:
    • Name: my-dev-vm
    • Instance Type: o1.medium (2 vCPU, 4GB RAM)
    • Connection: private
    • SSH Public Key: Paste your SSH public key
  5. Click "Create"

Using kubectl#

Create a VirtualMachine with a YAML manifest:

apiVersion: compute.cloud.stakater.com/v1
kind: VirtualMachine
metadata:
  name: my-dev-vm
spec:
  parameters:
    instanceType: o1.medium
    connection: private
    sshPublicKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC..."
    cloudInit:
      userData: |
        #cloud-config
        packages:
          - git
          - curl
          - vim
kubectl apply -f vm.yaml

Emma can monitor the provisioning:

kubectl get virtualmachine

kubectl describe virtualmachine my-dev-vm

Wait for the VM to be ready:

NAME        INSTANCE-TYPE   STATUS   AGE
my-dev-vm   o1.medium       Ready    3m

Access Your VM#

Once ready, get connection details:

kubectl get vm my-dev-vm -o jsonpath='{.status.connection}'

SSH into the VM:

ssh user@<vm-ip-address>

Step 5: Access via kubectl#

Get your project's kubeconfig to work with kubectl locally.

Download kubeconfig#

From the console:

  1. Navigate to your project
  2. Click "Settings" or "Access"
  3. Click "Download kubeconfig"

Save the file as ~/.kube/my-app-dev-config

Use the kubeconfig#

export KUBECONFIG=~/.kube/my-app-dev-config

kubectl get virtualmachine

Emma can now interact with her project using kubectl!

Tip

You can merge this kubeconfig with your existing ~/.kube/config file or use the KUBECONFIG environment variable to switch between contexts.

What You've Accomplished#

Emma has now:

✅ Logged in to her organization ✅ Created a project for her application ✅ Browsed the marketplace ✅ Provisioned a virtual machine ✅ Set up kubectl access to her project ✅ Accessed her VM via SSH

Next Steps#

Now that you have the basics, explore more features:

Common Tasks#

Provision OpenShift Clusters: Request full OpenShift clusters for your team using the OpenShiftCluster solution.

Provision Additional VMs: Create more VMs with different instance types (compute-optimized, memory-optimized, etc.).

Create Multiple Projects: Separate environments for dev, staging, and production.

Add Custom Solutions: If your platform team has published additional solutions (databases, message queues, etc.), provision them from the marketplace.

Invite Team Members: Add collaborators to your projects.

What's Next?#