fat-controller

module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2026 License: MIT

README

Fat Controller Logo

Fat Controller

A CLI for managing Railway projects.

Railway's railway.toml files cover build and deploy settings (Dockerfile path, watch patterns, healthchecks, restart policy), but a large portion of project configuration lives only in the dashboard: environment variables, resource limits, regions, replicas, domains, volumes, and TCP proxies. For multi-service projects this means:

  • No version control or audit trail for env var changes
  • No way to review configuration changes in a PR
  • Manual, error-prone setup when recreating or cloning a project
  • No mechanism to detect configuration drift

Fat Controller treats Railway project configuration as code: pull the live state, declare the desired state in a TOML file, diff, and apply.

fat-controller config get       # pull live config
fat-controller config diff      # compare config file against live state
fat-controller config apply     # push differences

Installation

Download a release binary

Grab the latest binary from the Releases page. Archives are available for Linux, macOS, and Windows on amd64 and arm64.

Build from source
go install github.com/hamishmorgan/fat-controller/cmd/fat-controller@latest

Verify the installation:

fat-controller --version

Getting started

  1. Authenticate with your Railway account:

    fat-controller auth login
    
  2. Bootstrap a config file from your live project:

    fat-controller config init --project my-project --environment production
    

    This creates fat-controller.toml with your current live configuration.

  3. Edit the TOML file to declare your desired state, then diff and apply:

    fat-controller config diff
    fat-controller config apply
    

See docs/COMMANDS.md for the full command reference.

Directories

Path Synopsis
cmd
fat-controller command
internal
cli
version
Package version holds build-time version information.
Package version holds build-time version information.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL