RSGo Manifest Format

A flexible, typed format for stack definitions with validation, metadata and Docker Compose compatibility.

What is the RSGo Manifest Format?

The RSGo Manifest Format is a YAML-based configuration format developed specifically for ReadyStackGo. It extends Docker Compose capabilities with typing, validation, metadata, and multi-stack support.

Basic Structure

# RSGo Manifest v0.10
product:
  name: my-application
  displayName: My Application
  description: A sample application
  version: 1.0.0
  author: Your Name
  tags: [web, database]

stacks:
  - name: app
    composeFile: docker-compose.yml
    variables:
      - name: APP_PORT
        type: Port
        description: Application port
        default: "8080"
        required: true

Product Metadata

Unlike Docker Compose, RSGo Manifests can contain rich metadata:

  • displayName: Display name in the UI
  • description: Detailed description
  • version: Version number following SemVer
  • author: Author or organization
  • tags: Categorization for search and filtering
  • icon: Custom icon for the UI

Typed Variables

Variables have explicit types with automatic UI generation:

Type UI Element Validation
StringText fieldPattern, Min/Max length
NumberNumber fieldMin/Max value
BooleanToggle-
PasswordPassword fieldMin length
PortPort input1-65535
SelectDropdownOptions list
SqlServerConnectionStringBuilder dialogFormat, Test

Docker Compose Import

Existing Docker Compose files can be easily imported:

Import Features:

  • Automatic detection of environment variables
  • Type inference from variable names (e.g., *_PORT becomes Port type)
  • Connection string detection (e.g., SQL Server, PostgreSQL)
  • Preservation of original Compose structure

Variable Groups

Variables can be organized into logical groups:

variables:
  - name: DB_HOST
    type: String
    group: database
    order: 1

  - name: DB_PORT
    type: Port
    group: database
    order: 2

  - name: API_KEY
    type: Password
    group: authentication
    order: 1

Advantages over Docker Compose

  • Type Safety: Explicit types instead of just strings
  • Validation: Values are checked before deployment
  • UI Integration: Automatic form generation
  • Multi-Stack: Multiple stacks in one product
  • Metadata: Rich product information
  • Compatibility: Existing Compose files can be imported