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.
# 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.
# 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.
# 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.
# Deploy with score.yaml
score-saas workload deploy score.yaml
Destroy
Safely remove deployed workloads and their associated resources.
# 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
apiVersion: score.dev/v1b1
metadata:
name: my-app
containers:
web:
image: nginx:latest
variables:
PORT: "8080"
service:
ports:
web: 8080
Application with Database
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:
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:
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:
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.
$ 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.
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.