← All work
Tooling · 2024–25

Railway-to-Kubernetes Manifest Generator

Overview

A Node.js tool that converts Railway application templates into Kubernetes manifests, enabling a “one-click app marketplace” experience where templated apps are translated into Deployments, Services, and related resources for a Kubernetes cluster.

Why It Exists

Railway offers a rich library of deployable app templates, but they are not portable to a self-managed Kubernetes cluster. This bridges that gap, downloading template definitions and generating equivalent k8s manifests so the same catalog can run on owned infrastructure.

What We Built

  • A template converter (templateKube.js) that parses Railway’s serializedConfig.services and emits Kubernetes Deployment (and related) manifests using js-yaml.
  • A downloadRailway.js fetcher and templates.json / processed.json catalogs of source templates.
  • An index.js orchestrator plus generated k8s-manifests output sets and namespace helpers.
  • A real cluster kubeconfig and namespace manifests for applying the output.

Technologies & Approach

Plain Node.js with js-yaml for manifest serialization, mapping Railway’s service config schema onto Kubernetes resource definitions, effectively a small code generator from one deployment platform’s format to another.

Outcome / Impact

Demonstrated deployment portability: a Railway-style app marketplace re-targeted onto Kubernetes through generated manifests, letting curated app templates be provisioned on self-managed clusters.

Capabilities Demonstrated

  • Translating one platform’s deployment templates into Kubernetes manifests
  • Code-generating Deployments/Services from structured config
  • Building app-marketplace style provisioning over Kubernetes
  • Working directly with kubeconfig and namespace resources
More work See all →