Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lyft/clutch

Extensible platform for infrastructure management
https://github.com/lyft/clutch

developer-portal infrastructure-management lyft

Last synced: about 1 month ago
JSON representation

Extensible platform for infrastructure management

Awesome Lists containing this project

README

        



Clutch



Clutch


An extensible platform for infrastructure management



License


Slack


react


golang


Key Features
Getting Started
Extending Clutch
Documentation
Contributing



## Key Features

**Clutch** provides everything you need to simplify operations and in turn improve your developer experience and operational capabilities. It comes with several out-of-the-box features for managing cloud-native infrastructure, but is designed to be org-agnostic and easily taught how to find or interact with whatever you run, wherever you run it.

- 🔌 **Highly extensible.**
- Extension points exist throughout the stack to allow custom integrations without rewrites.
- Clutch is configuration-driven so it can be deployed and reconfigured for varied environments with ease.
- Private extensions can be plugged-in without maintaining a fork.
- 🔎 **Built for discovery.**
- Resources have many common names. Clutch's Resolver pattern makes it easier than ever to locate resources.
- The Resolver provides server-generated forms with one-line of frontend code, ensuring the API and frontend are always in sync.
- 💻 **Easy to develop, run, and maintain.**
- Developed with Go and Typescript, plus Protobuf for generated interfaces throughout.
- Back-end abstractions ensure loose coupling and put feature development on rails.
- Frontend components make it simple for developers with limited frontend experience to ship features.
- Deployable as a single binary containing both backend and frontend resources.
- Basic auditing, authorization, stats, and logging come for free with every endpoint.
- 🔒 **Secure and observable.**
- Single sign-on support.
- Role-based access control (RBAC) engine for granular access control beyond what vendor IAM policies support.
- Built-in auditing with sinks for Slack and more.
- Extensive logging and stats capabilities.

## Getting Started

So you want to run Clutch? That's great to hear! There are several supported methods of running Clutch, all
of which are outlined in our [Getting Started documentation](https://clutch.sh/docs/getting-started/build-guides) to learn how to run Clutch in Docker or build it locally.

Clutch also has a [mock server](https://clutch.sh/docs/getting-started/mock-gateway) for testing and developing features in isolation from the systems they depend on.

## Extending Clutch

Clutch ships with a default configuration and some out of the box workflows to make on-boarding as easy
as possible. However, there are lots of use cases for Clutch, some of which may not be written yet and others which are not broadly applicable.

To get started developing new features or functionality within Clutch check out the
[development guides](https://clutch.sh/docs/development/guide) on how to
develop each of the different pieces. While you're there, take a few additional minutes to read through the [configuration documentation](https://clutch.sh/docs/configuration). This allows you to override the default configuration that ships out of the box with Clutch.

## Documentation

Clutch has extensive documentation that can be found on our site [clutch.sh](https://clutch.sh/docs/).

If you're looking for the source of the hosted documentation both the content and the code
for the website live within the [docs/](docs/) directory.

## Contributing

Thinking of contributing back to Clutch? Awesome! We love and welcome all contributions.

First things first, please read over our [Code of Conduct](./CODE_OF_CONDUCT) and our
[guidelines](https://clutch.sh/docs/community#contributing) before opening a pull
request.

Want to contribute but not sure where to start? Check out the
[`good first issue`](https://github.com/lyft/clutch/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) for tasks specifically scoped for those with less
familiarity.

All contributions require that the author has signed the [Lyft CLA](https://oss.lyft.com/cla/clas/1.0). Login to the [Lyft CLA Service](https://oss.lyft.com/cla) with GitHub to review and sign the CLA.
If you are contributing on behalf of an organization please reach out to [email protected] to have
your company added.