Skip to content

Getting Started Overview

Welcome to Fleet Manager Applications! This guide will help you understand the fundamentals of deploying applications using Fleet Manager.

What You'll Learn

In this getting started section, you'll discover:

  • How Fleet Manager Applications work
  • The anatomy of an application manifest
  • How to deploy your first application
  • Common patterns and best practices
  • Troubleshooting tips

Prerequisites

Before you begin, ensure you have:

  • Access to a Scale Computing HyperCore cluster which meets the following requirements
    • HyperCore version 9.6.6+
    • DNS configured
    • Network access to kraken-tunnel.scalecomputing.com over Port 443 TCP
  • Basic understanding of YAML syntax
  • Familiarity with creating VMs on HyperCore

Core Concepts

Application Manifests

Application manifests are YAML files that declaratively define your infrastructure. They specify:

  • Virtual machines and their configurations
  • Assets like disk images and ISOs
  • Network and storage configurations
  • Initialization scripts and cloud-init data

Key Components

1. Metadata

Every manifest includes metadata that describes your application:

metadata:
  name: "my-application"
  labels:
    - "environment:production"
    - "team:platform"

2. Assets

Assets define external resources like disk images:

assets:
  - name: "ubuntu-image"
    type: "virtual_disk"
    format: "raw"
    url: "https://example.com/ubuntu.img"

3. Resources

Resources define the actual infrastructure components:

resources:
  - type: "virdomain"
    name: "web-server"
    spec:
      cpu: 2
      memory: "4 GiB"
      state: "running"

Manifest Structure

Every application manifest follows this structure:

type: Application              # Always "Application"
version: "1.0.0"              # Schema version
metadata:                     # Application metadata
  name: "app-name"
  labels: []
spec:                         # Main specification
  assets: []                  # External resources (Media)
  resources: []               # Infrastructure components

Development Environment

For the best development experience, we recommend:

  1. YAML Editor: Use an editor with YAML syntax highlighting
  2. Validation: Set up schema validation for immediate feedback via command line or IDE
  3. Version Control: Track your manifests in Git
  4. Documentation: Keep README files with your manifests

Common Patterns

Template Variables

Use template variables for dynamic values:

metadata:
  name: "app-{{ app_id }}"

Resource Tagging

Tag resources for organization:

tags:
  - "production"
  - "web-tier"
  - "team:platform"

State Management

Control VM lifecycle with state:

state: "running"    # Start the VM
state: "shutoff"    # Stop the VM (useful for templates)

Next Steps

Now that you understand the basics, you can:

  1. Try the Quick Start - Deploy your first application
  2. Explore Examples - See real-world use cases
  3. Read the Specification - Deep dive into the API
  4. Learn Best Practices - Optimize your deployments

Getting Help

If you need assistance:

Ready to dive in? Let's start with the Quick Start Guide!