Getting Started

Learn how to install and configure score-saas CLI for your first deployment.

1 Installation

Download the score-saas CLI binary directly from the official download page.

2 Quick Start

Get up and running with your first deployment in minutes.

Terminal
# Initialize your project with a template
score-saas init

# Login to your account
score-saas account login

# Deploy your application
score-saas workload deploy score.yaml

Account Commands

Manage your account authentication and settings with the score-saas CLI.

Login

Authenticate with the score-saas platform using Google OAuth.

Terminal
# Login command (opens external Google authentication)
score-saas account login

Authentication Process

The login command will automatically open your default web browser and redirect you to Google's authentication page.

Automatic Browser Launch

Opens your default browser automatically

Google Authentication

Secure authentication through Google OAuth

Automatic Token Storage

Authentication token is stored securely for future use

Logout

Log out from your account and clear stored credentials.

Terminal
# Logout and clear credentials
score-saas account logout

Workload Commands

Deploy and manage your cloud workloads using the score-saas CLI.

Deploy

Deploy your application using a Score specification file.

Terminal
# Deploy with score.yaml
score-saas workload deploy score.yaml

Destroy

Safely remove deployed workloads and their associated resources.

Terminal
# Destroy workload by name (from metadata.name in score.yaml)
score-saas workload destroy my-app

Important Safety Considerations

The destroy command permanently removes workloads and their associated resources.

  • Always backup important data before destroying resources

Examples

Example Score specifications and deployment commands for common scenarios.

Simple Application

score.yaml
apiVersion: score.dev/v1b1
metadata:
  name: my-app
containers:
  web:
    image: nginx:latest
    variables:
      PORT: "8080"
service:
  ports:
    web: 8080

Application with Database

score.yaml
apiVersion: score.dev/v1b1
metadata:
  name: landing
containers:
  main:
    image: solutionsgorilla.com/landing
    variables:
      PORT: "3000"
      DB_DATABASE: ${resources.db.name}
      DB_USER: ${resources.db.username}
      DB_PASSWORD: ${resources.db.password}
      DB_HOST: ${resources.db.host}
resources:
  db:
    type: postgresql
    backup:
      enabled: true
  dns:
    type: dns
  route:
    type: route
    params:
      host: ${resources.dns.host}
      path: /
      port: 8080
service:
  ports:
    http-www:
      port: 8080
      targetPort: 3000

Completion Command

Set up shell autocompletion for the score-saas CLI to enhance your productivity with tab completion for commands and flags.

Bash Setup

The completion command generates autocompletion scripts for your shell. Follow these steps to set up bash completion:

1 Generate and Install Completion Script

Generate the completion script and place it in the system completion directory:

Terminal (as root)
score-saas completion bash > /etc/bash_completion.d/score

Alternative: User Directory Installation

If you're not root or /etc/bash_completion.d is not writable, you can install it in your user directory:

Terminal
mkdir -p ~/.bash_completion.d
score-saas completion bash > ~/.bash_completion.d/score

2 Reload Shell Configuration

Reload your bash configuration to activate the completion:

Terminal
source ~/.bashrc

Testing Autocompletion

Once installed, you can test the autocompletion functionality:

Try It Out

Type score-saas followed by a space and press TAB

This should show you available subcommands and flags, making it easier to discover and use CLI features.

Example
$ score-saas <TAB>
account     completion     help     workload

Score Specification

Understanding the structure and components of the score.yaml definition file.

For complete specification details, see the official Score specification reference .

File Structure

The score.yaml file follows a specific structure with required and optional sections.

Basic Structure
apiVersion: score.dev/v1b1
metadata:
  name: your-workload-name
containers:
  # Container definitions
service:
  # Service configuration
resources:
  # Resource dependencies (optional)

Required Sections

apiVersion

Currently set to score.dev/v1b1

Specifies the version of the Score specification being used.

metadata

Must include a name field

Defines the workload name used for identification and deployment management.

containers

Defines how the workload's tasks are executed

Specifies container images, environment variables, and runtime configuration.

service

Defines how a workload can expose its resources when executed

Configures ports, networking, and external access to your application.

resources (optional)

Defines dependencies needed by the workload

An array of objects specifying databases, DNS, storage, and other external dependencies.