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 |
|---|---|---|
String | Text field | Pattern, Min/Max length |
Number | Number field | Min/Max value |
Boolean | Toggle | - |
Password | Password field | Min length |
Port | Port input | 1-65535 |
Select | Dropdown | Options list |
SqlServerConnectionString | Builder dialog | Format, 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