Giter VIP home page Giter VIP logo

csop's Introduction

Cash Service OPerator

Note this repo is under active heavy development and is not yet alpha

The Cash Service OPerator (CSOP) is a Kubernetes operator that codifies the operational knowledge required to run a "service" in a Kubernetes cluster.

CSOP uses CRDs to allow service owners to easily deploy a service that conforms to the container contract specified by CSOP. The resources created by CSOP will be configured with sane defaults that emphasize security. CSOP provides the following features:

  • Autoscaling
  • Scheduled Scaling
  • Autodeployment
  • Canary Deployments
  • Jobs Deployments
  • Debug Containers
  • Resource Customization

Container Contract

Network

Applications MUST serve their application traffic over HTTPS on *:8443 (see "Filesystem" below for certificate locations).

Applications MUST serve Kubernetes health checks over HTTP on *:8080 and HTTPS on *:8443 and MUST respond to:

GET /_liveness MUST respond with a 200 OK to indicate the service is running.

GET /_readiness MUST respond with a 200 OK to indicate the service is ready to serve traffic.

Deployment

Service owners deploy a CSOP for each service they want to run in a namespace. They will then deploy a CashService Custom Resource (CR) with the small amount of desired configuration for the service. CSOP will observe the creation of the CashService and create kubernetes resources including a Deployment, HorizontalPodAutoscaler, NetworkPolicy, Service, Secrets, and ConfigMaps. These resources will be owned and managed by CSOP to ensure the service always operates in the way CSOP describes.

Autoscaling

CSOP will create a HorizontalPodAutoscaler for the service using the configuration provided in the CashService CR.

Scheduled Scaling (Coming Soon)

CSOP is able to scale up a service at a specific date and time using the CashServiceScheduledScale CR. Service owners are able to add replicas to their deployment in anticipation of an event that increases traffic.

Canary Deployments (Coming Soon)

CSOP will allow service owners to create a small, secondary deployment that can be used to test changes while taking a fraction of the traffic.

Jobs Deployment (Coming Soon)

CSOP enables service owners to create a separate deployment that can be used to handle jobs created by the service.

Debug Containers (Coming Soon)

CSOP will enable service owners to easily add a container to the service pods that contains a number of tools that can be used to debug the service. NOTE: This will require a restart of the service.

Resource Customization (Coming Soon)

CSOP provides the ability to modify the managed resources outside of the CashService CRD using the CashServiceExtension CR. The CashServiceExtension contains raw yaml that will be applied to the specified resource. Service owners will be customize the CSOP managed resources in case the CashService CR is not flexible enough and the default values are not suitable for their cluster.

csop's People

Contributors

janzantinge avatar gflarity 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.