Code Monkey home page Code Monkey logo

ephemeral.run's Introduction

ephemeral.run

CI ephemeral.run website Release Version License

ephemeral.run logo

ephemeral.run is an open-source project created by @OpenGov and @infracloudio to provide development teams with full application environments for every PR – before merging!

On 14 October 2020 we introduced ephemeral.run at a CNCF community webinar. The slides can be viewed here. A link to the recording is forthcoming.

Getting Started

Read GETTING-STARTED to... get started.

Contributing

We're just getting started, so star the repo, open issues, open PRs, and we'll slowly build this topic out.

Our maintainers (admins) are:

Note that this repository's configuration and permissions are managed by Terraform (maintained by @jspiro). Changes must never be made in the GitHub UI.

Design Goals

These were the design goals we started with:

  • Minimal per-environment cost that scales linearly with your team
  • Environments are "real" (not faked) and reflective of production
  • Easy to use and convenient for everyone, not just developers
  • Minimally complex configuration, fewer moving parts, prefer OSS reuse over "not invented here"
  • Left-shift as much development and testing as possible to be pre-merge

Anti-goals:

  • Performance: While we want these to be fast to start, they can only be so fast while meeting the above goals

Roadmap

These are sorted by what we feel provides the broadest value to teams. Over time we'd like to migrate to a better document format like this or use GitHub Projects. (If you're a good project manager, help us out!)

  • A generic, fork-friendly framework with simplified configuration DSL/templates.
    • Skaffold is powerful but verbose and easy to miswire. Not everyone needs that flexibility.
  • A loving and proactive @runbot (like GitHub's @dependabot)
  • BotKube integration for ChatOps
  • Suspend/Resume: Scale down compute indefinitely while retaining data
  • Dynamic TTLs on cluster resources
  • Local-to-remote telepresence: Connect a locally running service in an IDE to a remote cluster
  • CI integration
    • Wait for CI to finish building before starting, or launch/manage an environment from a pipeline
  • Smarter Pod scheduling to optimize autoscaling
    • Run the fewest number of nodes necessary and schedule with MostRequestedPriority or other tricks. The default spread behavior can keep all our nodes online for only one environment.
  • Centralized Control Plane with UI
  • Usage reporting and analytics
  • Budgeting policies
    • Dynamically control the number of environments and autoscalers

Logo

Our logo was designed by @torymartin88 (torymartin.com).


Licensing

ephemeral.run is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

ephemeral.run's People

Contributors

gchaware avatar jspiro avatar og-terraform avatar vishal-biyani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.