Metadata-Version: 2.1
Name: cdk8s-external-dns
Version: 0.0.2
Summary: cdk8s-external-dns is an CDK8S construct library that provides External Dns Configure.
Home-page: https://github.com/guan840912/cdk8s-external-dns.git
Author: Neil Kuan<guan840912@gmail.com>
License: Apache-2.0
Project-URL: Source, https://github.com/guan840912/cdk8s-external-dns.git
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: Programming Language :: Python :: 3.9
Classifier: Typing :: Typed
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: aws-cdk.aws-iam (<2.0.0,>=1.82.0)
Requires-Dist: cdk8s-plus (<0.34.0,>=0.33.0)
Requires-Dist: cdk8s (<0.34.0,>=0.33.0)
Requires-Dist: constructs (<4.0.0,>=3.2.90)
Requires-Dist: jsii (<2.0.0,>=1.16.0)
Requires-Dist: publication (>=0.0.3)

[![NPM version](https://badge.fury.io/js/cdk8s-external-dns.svg)](https://badge.fury.io/js/cdk8s-external-dns)
[![PyPI version](https://badge.fury.io/py/cdk8s-external-dns.svg)](https://badge.fury.io/py/cdk8s-external-dns)
![Release](https://github.com/guan840912/cdk8s-external-dns/workflows/Release/badge.svg)

![Downloads](https://img.shields.io/badge/-DOWNLOADS:-brightgreen?color=gray)
![npm](https://img.shields.io/npm/dt/cdk8s-external-dns?label=npm&color=orange)
![PyPI](https://img.shields.io/pypi/dm/cdk8s-external-dns?label=pypi&color=blue)

# cdk8s-external-dns

> [cdk8s external dns](https://github.com/kubernetes-sigs/external-dns) constructs for cdk8s

Basic implementation of a [external dns](https://github.com/kubernetes-sigs/external-dns) construct for cdk8s. Contributions are welcome!

## Usage

### CDK External Dns

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk8s import App, Chart
from constructs import Construct
from cdk8s_external_dns import AwsExternalDns, AwsZoneTypeOptions

# default will deploy to default namespace.
class MyChart(Chart):
    def __init__(self, scope, name):
        super().__init__(scope, name)
        AwsExternalDns(self, "cdk8sAwsExternalDns",
            domain_filter="exmaple.com",
            aws_zone_type=AwsZoneTypeOptions.PUBLIC
        )
app = App()
MyChart(app, "testcdk8s")
app.synth()
```

# Featrue For Add IAM Policy.

* For IRSA add IAM Policy.

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
# CDK APP like eks_cluster.ts
from cdk8s_external_dns import AwsExternalDnsPolicyHelper
import aws_cdk.aws_eks as eks
cluster = eks.Cluster(self, "MyK8SCluster",
    default_capacity=0,
    masters_role=cluster_admin,
    version=eks.KubernetesVersion.V1_18
)

external_dns_service_account = cluster.add_service_account("external-dns",
    name="external-dns"
)

# will help you add policy to IAM Role .
AwsExternalDnsPolicyHelper.add_policy(external_dns_service_account)
```

Also can see [example repo](https://github.com/guan840912/cdk8s-cdk-example)

## License

Distributed under the [Apache 2.0](./LICENSE) license.


