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 previously used Lostr贸mos in conjunction with another tool to customize VM deployments into GCE. Each VM instance offloaded some of its workload to a separate Kubernetes application. As new VMs were created in GCE, this other tool monitored the Google API for these changes and created a CR as they happened. Lostr贸mos watched for changes to this CR endpoint and created a Helm release by combining information from the new CR and a predefined template. This allowed WP Engine to deconstruct some of the work for deployment into GCE and reduce maintenance work around sharing the data between applications.