diff --git a/proposals/operator-framework.md b/proposals/operator-framework.md new file mode 100644 index 000000000..ace10f6fa --- /dev/null +++ b/proposals/operator-framework.md @@ -0,0 +1,87 @@ +*Name of project:* Operator Framework + +*Description* + +The third wave of Kubernetes applications is advanced distributed systems. These systems require active care and lifecycle management to function well. The tools within the Operator Framework aid developers when building, testing, publishing and updating these systems. + +The Operator Framework expands the ecosystem of Kubernetes: + +* Open source communities: helm, ansible, distributed databases like CockroachDB, distributed storage like Rook, distributed search engines like Elastic as well as many more tooling in the Kubernetes space like Aqua Security, Sisdig, Instana etc... +* Enterprises/users of Kubernetes: IT departments being internal providers of Kubernetes clusters, Corporate Developers, DevOps teams MongoDB, RedisLab, Cloud providers, Percona, CrunchyData... +* Software vendors: MongoDB, RedisLab, Cloud providers, Percona, CrunchyData + +The Operator Framework provides essential features for distributed systems authors to build and run Operators: + +* supports iterative development of Operators with integrated testing +* packaging and distribution concept of Operators +* a central point of authority of Operators on cluster +* declarative way of instantiating Operators +* lifecycle handling of long running Operators with regards to upgrades, versioning & dependencies + + + +*Statement on alignment with CNCF mission*: + +The Operator Framework expands the Kubernetes ecosystem to empower users with an easy and robust mechanism to run advanced distributed systems. These distributed systems are frequently other CNCF projects like Prometheus, Jaeger, etcd, Rook, NATS and more. The Bringing the Operator Framework into the CNCF will strengthen these relationships and allow users to adopt and run these CNCF projects in production. + +*Sponsor / Advisor from TOC*: tbd + +*Unique identifier:* operator-framework + +*Prefered Maturity Level*: incubating + +*License*: Apache License v2.0 + +*Source control repositories*: link:https://github.com/operator-framework[GitHub] + +*External dependencies* + +_(Runtime dependencies only)_ + +*Infrastructure requirements*: + +* CI (currently use TravisCI) + +*Communication Channels*: + +* Mailing List: https://groups.google.com/d/forum/operator-framework _(A public Google Group. Move to CNCF Mailing Lists should be considered if the Operator Framework is accepted.)_ + +*Website*: https://github.com/operator-framework[Github Organization] + +*Release methodology and mechanics* + +Releases are done through... + +*Community size and existing sponsorship*: + +_(12/July/2019)_ + +* GitHub Stars (SDK): 2449 +* GitHub Stars (OLM): 439 +* GitHub Forks (SDK): 634 +* GitHub Forks (OLM): 182 +* GitHub Code Contributors (SDK): 117 +* GitHub Code Contributors (OLM): 72 +* Slack users: 1409 +* Mailing list subscribers: 585 + +* Existing Sponsors: + * Red Hat (10-15 people working full-time) + +Supporting documentation -- not part of the PR +The Operator Framework is an open source toolkit to manage Kubernetes native applications, called operators, in an effective, automated, and scalable way. Operators take advantage of Kubernetes's extensibility to deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run. First introduced by CoreOS in 2016, the Operator Framework is continuing to be refined and more widely used. +The Operator Framework (intro blog post) is an open source toolkit to manage Kubernetes native applications, called operators, in an effective, automated, and scalable way. Operators take advantage of Kubernetes's extensibility to deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run. +The framework consists of: +Operator SDK: Allows your developers to build an operator based on your expertise without requiring knowledge of Kubernetes API complexities. +Operator Lifecycle Manager: Helps you to install, update, and generally manage the lifecycle of all of the operators (and their associated services) running across your clusters. +Operator Marketplace: A conduit to deliver operators from a variety of vendors & community projects. +Operator Metering: Operator metering is responsible for collecting metrics and other information about what's happening in a Kubernetes cluster, and providing a way to create reports on the collected data. + + +Operator Registry: A registry that stores operator data to be supplied to the Operator Lifecycle Manager +Community Operators: A canonical source for Kube Operators that appears in OperatorHub.io +The Operator Framework has a wide user base that aligns closely with the Cloud Native Computing Foundation (CNCF) mission as described in section 1 of the CNCF Charter. +We hope that by bringing the Operator Framework project under the CNCF umbrella as a neutral host, we will be able to further expand the development community and the further expand the adoption of the project. +Website: https://operatorhub.io/ +GitHub: https://github.com/operator-framework +License: Apache License, Version 2.0