Romp Documentation

Romp Overview

Romp Documentation Note - This documentation is incomplete.

As we continue working on Romp, the documentation will be updated.

Romp helps developers package application components together with infrastructure configuration, thereby keeping machine configuration code, application code, and deployment code in lock-step in the same version control repository. Operations can easily inspect these packages, and then deploy them in a simple, but controlled manner.

Romp's powerful CLI embeds Inedo's advanced execution engine, and interacts with Universal Feeds to build and deploy Romp packages, all while using open specifications that allow others tool to easily interact with Romp and leverage as part of your DevOps toolchain.

Built for Devs and Ops.

Romp allows developers to specify and automate the environment that an application requires by creating and testing packages on their own workstations, and gives operations visibility and control over that configuration when deployed to servers.

Required and optional variables are built-in to Romp, meaning there’s no guessing as to what developers intended or expected for how their applications are configured. Package installation can also be "simulated", to see exactly what would happen when the install command is run.

It's all in the Packaging.

Romp packages are universal packages, which means you can easily see which packages are installed on any given server by querying the local package registry. When you use a universal package manager like ProGet, you can see where packages have been deployed, and by whom, as well as catalog and organize your packages in different feeds.

By using well-established packaging practices, you not only get benefits like semantic versioning, dependencies, and tagging, but you can be very confident that it will scale to far greater than your organization will ever need. NuGet, npm, etc., has tens of millions of packages, and have evolved to handle them quite gracefully.

Keeping simplicity dead simple.

A lot of times, application components and microservice require trivially simple environment configuration (such as a basic Windows service), and nothing more. Romp lets you define this basic configuration alongside the application, without demanding the overhead of an entire virtualized operating system in a container.

When you do need the runtime isolation and scalability that containers provide, Romp helps you model your applications-specific requirements and configuration through package dependencies, and export a dependency tree as a container image. This helps you separate the concerns of application-specific and general infrastructure configuration.