Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/awslabs/cdk8s
Define Kubernetes native apps and abstractions using object-oriented programming
https://github.com/awslabs/cdk8s
Last synced: 3 months ago
JSON representation
Define Kubernetes native apps and abstractions using object-oriented programming
- Host: GitHub
- URL: https://github.com/awslabs/cdk8s
- Owner: cdk8s-team
- License: apache-2.0
- Created: 2017-10-04T19:27:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T09:17:29.000Z (7 months ago)
- Last Synced: 2024-04-14T01:00:57.653Z (7 months ago)
- Language: JavaScript
- Homepage: https://cdk8s.io
- Size: 112 MB
- Stars: 4,101
- Watchers: 47
- Forks: 285
- Open Issues: 59
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- awesome-eks - cdk8s - Define Kubernetes native apps and abstractions using object-oriented programming (Cluster management tools)
- awesome-cloud-native - cdk8s - Define Kubernetes native apps and abstractions using object-oriented programming. (Application Delivery)
README
# Cloud Development Kit for Kubernetes
![](./website/static/images/animation.gif)
[![Website](https://github.com/cdk8s-team/cdk8s/workflows/website/badge.svg)](https://github.com/cdk8s-team/cdk8s/actions/workflows/website.yml)
[![View on Construct Hub](https://constructs.dev/badge?package=cdk8s)](https://constructs.dev/packages/cdk8s)
**cdk8s** is an open-source software development framework for defining Kubernetes applications and reusable abstractions using familiar
programming languages and rich object-oriented APIs. cdk8s apps synthesize into standard Kubernetes
manifests which can be applied to any Kubernetes cluster.cdk8s is a [Cloud Native Computing Foundation](https://www.cncf.io) Sandbox Project, built with ❤️ at AWS. We encourage you to [try it out](#getting-started), [leave feedback](#help--feedback), and [jump in to help](#contributing)!
Contents:
- [Repositories](#repositories)
- [Overview](#overview)
- [Getting Started](#getting-started)
- [Help \& Feedback](#help--feedback)
- [Documentation](#documentation)
- [Examples](#examples)
- [Roadmap](#roadmap)
- [Community](#community)
- [Contributing](#contributing)
- [CDK8s.io website](#cdk8sio-website)
- [License](#license)## Repositories
This project consists of multiple packages, maintained and released via the following repositories:
- [cdk8s](https://github.com/cdk8s-team/cdk8s-core) - Core library. For historical reasons note that the [`cdk8s`](https://www.npmjs.com/package/cdk8s) package is maintained in the `cdk8s-team/cdk8s-core` repository.
- [cdk8s-cli](https://github.com/cdk8s-team/cdk8s-cli) - Command-Line interface.
- [cdk8s-plus](https://github.com/cdk8s-team/cdk8s-plus) - High-Level constructs for Kubernetes core.The current repository acts as an umbrella repository for cross module concerns, as well as the deployment of [`cdk8s.io`](https://cdk8s.io)
## Overview
**cdk8s** apps are programs written in one of the supported programming
languages. They are structured as a tree of
[constructs](https://github.com/aws/constructs).The root of the tree is an `App` construct. Within an app, users define any
number of charts (classes that extend the `Chart` class). Each chart is
synthesized into a separate Kubernetes manifest file. Charts are, in turn,
composed of any number of constructs, and eventually from resources, which
represent any Kubernetes resource, such as `Pod`, `Service`, `Deployment`,
`ReplicaSet`, etc.cdk8s apps only ***define*** Kubernetes applications, they don't actually apply
them to the cluster. When an app is executed, it *synthesizes* all the charts
defined within the app into the `dist` directory, and then those charts can be
applied to any Kubernetes cluster using `kubectl apply -f dist/chart.k8s.yaml` or a GitOps tool like [Flux](https://fluxcd.io/).> **cdk8s** is based on the design concepts and technologies behind the [AWS
Cloud Development Kit](https://aws.amazon.com/cdk), and can interoperate with
AWS CDK constructs to define cloud-native applications that include both
Kubernetes resources and other CDK constructs as first class citizens.Read [our blog](https://aws.amazon.com/blogs/containers/introducing-cdk-for-kubernetes/) or [watch our CNCF webinar](https://www.cncf.io/webinars/end-yaml-engineering-with-cdk8s/) to learn more and see a live demo of cdk8s in action.
## Getting Started
See the [Getting Started](https://cdk8s.io/docs/latest/get-started) guide in
[cdk8s Documentation](https://cdk8s.io/docs/).## Help & Feedback
Interacting with the community and the development team is a great way to
contribute to the project. Please consider the following venues (in order):- Search [open issues](https://github.com/cdk8s-team/cdk8s/issues)
- Stack Overflow: [cdk8s](https://stackoverflow.com/questions/tagged/cdk8s)
- File a [new issue](https://github.com/cdk8s-team/cdk8s/issues/new/choose)
- Slack: #cdk8s channel in [cdk.dev](https://cdk.dev)## Documentation
See [cdk8s Documentation](https://cdk8s.io/docs).
## Examples
See our [Examples Directory](./examples).
## Roadmap
See our [roadmap](https://github.com/cdk8s-team/cdk8s/projects/1) for details about our plans for the project.
## Community
See [Awesome cdk8s](https://github.com/dungahk/awesome-cdk8s).
If you're a cdk8s user please consider adding your name to the [ADOPTERS](./ADOPTERS.md) file.
## Contributing
The cdk8s project adheres to the [CNCF Code of
Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).We welcome community contributions and pull requests. See our [contribution
guide](./CONTRIBUTING.md) for more information on how to report issues, set up a
development environment and submit code.## CDK8s.io website
See [Docs Directory](./docs/README.md).
## License
This project is distributed under the [Apache License, Version 2.0](./LICENSE).