OpenRun: Declarative internal tools deployment

I have been building a new project OpenRun for the last few years and recently added Kubernetes support. OpenRun is a declarative web app deployment platform, built for teams to deploy internal tools.

Some of the unique features of OpenRun are:

  • Runs on a single machine (with Docker/Podman) or on Kubernetes, uses same config on both
  • All apps have a staging env, code and config changes are staged before being promoted to prod
  • Supports OIDC/SAML integration, allowing you to control access to apps using RBAC policies
  • Full solution which handles builds, CD and API routing. Does not require additional tooling like Jenkins/ArgoCD etc

When run on a single machine, it directly deploys the containers to Docker/Podman. When deployed to Kubernetes, OpenRun builds the images using Kaniko and deploys apps as Kubernetes deployments, using server side apply to make updates.

The whole config for creating an app is just:

app(path="/streamlit/uber",
    source="github.com/streamlit/demo-uber-nyc-pickups",
    spec="python-streamlit")

which specifies the path the app will be at, the source code location and spec which defines how to built the app and handle request routing.

Would appreciate your feedback.