ephemerator

module
v0.0.0-...-cda7753 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 1, 2022 License: Apache-2.0

README

ephemerator

See your future in progress with ephemeral environments.

The ephemerator shows how to create on-demand preview environments with ephemeral Kubernetes clusters.

Goals

We want this project to be just enough that a small or medium-sized team can use it to operate preview environments on their Kubernetes cluster.

We use it to demo a small set of whitelisted Tilt example projects.

Non-Goals

There are many features that go into a "gold standard" env operator:

The ephemerator operator isn't trying to solve these problems right now.

Development

See CONTRIBUTING.md for details on how to run this locally or in your own cluster.

Architecture

The desired state of ephemeral environments in the cluster are stored in ConfigMaps on the cluster itself with the label app: ephemerator.tilt.dev.

The ephemerator consists of four servers:

ephctrl - A Kubernetes controller that continuously configmaps in the cluster and creates the environments.

ephdash - A dashboard where users manage their environments.

ephgateway - The ingress that routes traffic to each environment.

oauth2-proxy - An oauth2 proxy for authenticating users. Can also be used for access control.

The servers need the following permissions:

ephctrl - Read/write access on Deployments, Services, Ingresses, and ConfigMaps in its own namespace.

ephdash - Read/write access on ConfigMaps in its own namespace.

The ephctrl and ephdash servers are written in Go. They could be written in any language with a Kubernetes client library.

License

Copyright 2022 Windmill Engineering

Licensed under the Apache License, Version 2.0

Directories

Path Synopsis
ephctrl
ephdash

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL