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’sserializedConfig.servicesand emits Kubernetes Deployment (and related) manifests usingjs-yaml. - A
downloadRailway.jsfetcher andtemplates.json/processed.jsoncatalogs of source templates. - An
index.jsorchestrator plus generatedk8s-manifestsoutput sets and namespace helpers. - A real cluster
kubeconfigand 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