Lostrómos is a service that creates Kubernetes resources based on a Custom Resource endpoint in the Kubernetes API
Switch branches/tags
Nothing to show
Clone or download
dbrian Merge pull request #72 from nraddy/rj-71-load-archive
71: Updated GetRemoteChart method to return chart file path for archive
Latest commit fd37e06 Jun 2, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add myself as a code owner May 15, 2018
cmd 71: Updated GetRemoteChart method to return chart file path for archive Jun 1, 2018
crwatcher Lostromos should have an opt in mode Nov 29, 2017
docs Added support to pull chart from private repo May 21, 2018
git-hooks Adding Bootstrap files and more documentation. Oct 18, 2017
helmctlr 71: Updated GetRemoteChart method to return chart file path for archive Jun 1, 2018
metrics Added support to pull chart from private repo May 21, 2018
printctlr Added metrics to add timestamp for last successful create/update/dele… Feb 20, 2018
status Update status endpoint to properly handle errors Nov 27, 2017
test Added support to pull chart from private repo May 21, 2018
tmpl Add ability to check template Oct 31, 2017
tmplctlr Added metrics to add timestamp for last successful create/update/dele… Feb 20, 2018
version Add Structured logging Nov 3, 2017
.gitignore Adding github release deploy step Nov 6, 2017
.travis.yml Update deploy go to run as @lostromos-bot instead of myself and increase Mar 5, 2018
CODE_OF_CONDUCT.md Add Issue Template Oct 22, 2017
CONTRIBUTING.md Updated README with logo, table of contents, new wording. Reorganized… Dec 7, 2017
Dockerfile Update dockerfile to include build version in binary Jan 31, 2018
Gopkg.lock Added support to pull chart from private repo May 21, 2018
Gopkg.toml Added support to pull chart from private repo May 21, 2018
LICENSE Adding License and code of conduct and coverage tracking Oct 20, 2017
MAINTAINERS Add initial documentation Oct 17, 2017
Makefile Update deploy go to run as @lostromos-bot instead of myself and increase Mar 5, 2018
README.md Added go report Mar 20, 2018
main.go Adding License and code of conduct and coverage tracking Oct 20, 2017
requirements.in Add docker image to build process Nov 6, 2017
requirements.txt Add docker image to build process Nov 6, 2017

README.md

Lostrómos logo

Build Status codecov Go Report Card

Lostrómos

Lostrómos is a templating operator.

Please note that the documentation on Kubernetes Operators is somewhat out of date. Third party resources have been deprecated, and operators now watch Custom Resources.

Table of Contents

Overview

Problem Statement

Managing, sharing, and controlling an application's operational domain knowledge can be prone to human error and may create points of failure. Instead of maintaining lists, databases, and/or logic structures to control this information, Lostrómos automates maintenance of this information with only the need for a predefined template.

How It Works

Lostrómos is a Kubernetes operator. It watches a Custom Resource (CR) endpoint. When a change is detected, it uses the information in the CR to fill a template. This template is applied either via kubectl or Helm.

Use Cases

Control access to creation of Kubernetes resources

As a Kubernetes admin, allow developers to create instances of an application for development purposes without giving them direct access to deploy to the production cluster. Developers can create a CR, and with Lostrómos, the instance is deployed with development specific operational parameters (such as a test database or a specific application package).

Automate deployment of services alongside your application

Deploy a Kubernetes application and an accompanying monitoring service that relies on operational data from that application (such as an IP address) by creating a single CR.

Eliminate maintenance of application operational knowledge for deployments

WP Engine uses Lostrómos in conjunction with another tool to customize VM deployments into GCE. Each VM instance offloads some of its workload to a separate Kubernetes application. As we create new VMs in GCE, this other tool monitors the Google API for these changes and creates a CR as they happen. Lostrómos watches for changes to this CR endpoint and creates a Helm release by combining information from the new CR and a predefined template. This allows us to deconstruct some of the work for our deployment into GCE and reduce maintenance work around sharing the data between applications.