Metadata-Version: 2.1
Name: cdk8s
Version: 0.24.0
Summary: Cloud Development Kit for Kubernetes
Home-page: https://github.com/awslabs/cdk8s
Author: Amazon Web Services
License: Apache-2.0
Project-URL: Source, https://github.com/awslabs/cdk8s.git
Description: # cdk8s
        
        > Cloud Development Kit for Kubernetes
        
        **cdk8s** is a software development framework for defining Kubernetes
        applications using rich object-oriented APIs. It allows developers to leverage
        the full power of software in order to define abstract components called
        "constructs" which compose Kubernetes resources or other constructs into
        higher-level abstractions.
        
        This library is the foundation of **cdk8s**. It includes base types that are
        used to define cdk8s applications.
        
        ## Chart
        
        The `Chart` is a container that synthesizes a single Kubernetes manifest.
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        class MyChart(Chart):
            def __init__(self, scope, ns):
                super().__init__(scope, ns)
        ```
        
        During synthesis, charts collect all the `ApiObject` nodes (recursively) and
        emit a single YAML manifest that includes all these objects.
        
        ## ApiObject
        
        An `ApiObject` is a construct that represents an entry in a Kubernetes manifest.
        In most cases, you won't use `ApiObject` directly but rather use classes that
        are generated by the cdk8s CLI and extend this base class.
        
        ## Include
        
        The `Include` construct can be used to include an existing manifest in a chart.
        
        The following example will include the Kubernetes Dashboard in `MyChart`:
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        from cdk8s import Include
        
        class MyChart(Chart):
            def __init__(self, scope, id):
                super().__init__(scope, id)
        
                dashboard = Include(self, "dashboard", {
                    "url": "https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml",
                    # or
                    "url": "dashboard.yaml"
                })
        ```
        
        All API objects defined in the included manifest will be added as children
        `ApiObject`s under the `Include` construct's scope. This implies that you can
        use `Node.of(include).children` to inspect them.
        
        The following example queries for all the `Deployment` resources in the
        dashboard:
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        deps = Node.of(dashboard).children.filter((c: ApiObject) => c.kind === 'Deployment')
        ```
        
        NOTE: names of included objects (`metadata.name`) are preserved. This means that
        if you try to include the same manifest twice into the same chart, your manifest
        will have duplicate definitions of the same objects.
        
        ### Testing
        
        cdk8s bundles a set of test utilities under the `Testing` class:
        
        * `Testing.app()` returns an `App` object bound to a temporary output directory.
        * `Testing.synth(chart)` returns the Kubernetes manifest synthesized from a
          chart.
        
        ## License
        
        This project is distributed under the [Apache License, Version 2.0](./LICENSE).
        
        This module is part of the [cdk8s project](https://github.com/awslabs/cdk8s).
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: JavaScript
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Typing :: Typed
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved
Requires-Python: >=3.6
Description-Content-Type: text/markdown
