GithubHelp home page GithubHelp logo

isabella232 / potter-controller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gardener/potter-controller

0.0 0.0 0.0 652 KB

License: Apache License 2.0

Shell 0.52% Python 2.90% Go 95.25% Makefile 0.27% Dockerfile 0.77% Mustache 0.29%

potter-controller's Introduction

Potter Controller

Description

The Potter Controller - A Kubernetes extension to manage deployments in Kubernetes clusters. It’s a central component in a Gardener Kubernetes landscape which doesn’t require any additional components running in the managed cluster.

The end user documentation could be found here.

A complete Potter installation consists of a UI (maintain in this repository, heavily based on the kubeapps project), which can be used to manually deploy Helm Charts and Kapp resources to Clusters. The UI has been enhanced to work centrally, so that only one Potter installation is required to manage a multitude of Clusters in a remote fashion.

Apart from the UI, Potter introduces the concept of so-called "Cluster Bill-of-Materials" (in short: 'Cluster-BoMs'). These entities are YAML files, describing a list of Kubernetes Deployments which should run in a specific Cluster. Such a YAML file describes the "desired state" of all applications which should be running in a Cluster. Cluster-BoMs can easily be applied to a Cluster with kubectl. After applying such a Cluster-BoM, the Potter-Controller (located in this repository) will start deploying whatever is part of the Cluster-BoM. A Status Section at the end of the BoM provides the detailed deployment states.

Ideally, Cluster-BoMs are used to fully automate the management of deployments for a Kubernetes Cluster. By using Cluster-BoMs, not only Helm Charts, but also Kapp-Deployments can be managed.

The Potter Controller enables easy extensibility, so that further Kubernetes deployment types can be integrated, Helm Chart and Kapp support is provided out-of-the-box. The deployment itself is technically based on the Landscaper Project.

Installation

The two main components of a Potter Installation (Potter-Hub and Potter-Controller) are distributed and installed via Helm. For detailed installation instructions, visit the Potter Controller Helm Chart's README.md and the README.md of the corresponding Potter-Hub.

Limitations

The current version of the Potter Controller has the following limitations:

  • Support for Potter installations outside of Gardener landscapes is untested.

How to obtain support

If you encounter any problems using Potter or if you have feature requests, please don't hesitate to contact us via both GitHub repositories. We will offer further methods for getting in touch with us, which you will find here.

Contributing

The Potter Controller is offered as Open Source, using the Apache 2.0 license model.
If you would like to contribute, please check out the Gardener contributor guide.

potter-controller's People

Contributors

achimweigel avatar ccwienk avatar gardener-robot avatar gardener-robot-ci-1 avatar gardener-robot-ci-2 avatar gardener-robot-ci-3 avatar guewa avatar in-ko avatar jensh007 avatar jschicktanz avatar robertgraeff 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.