• This repository has been archived on 11/Sep/2020
  • Stars
    star
    133
  • Rank 272,600 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lostr贸mos is a service that creates Kubernetes resources based on a Custom Resource endpoint in the Kubernetes API

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 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.