Metadata-Version: 2.1
Name: cdkeks
Version: 0.0.4
Summary: Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included
Home-page: https://github.com/hupe1980/cdkeks
Author: hupe1980
License: MIT
Project-URL: Source, https://github.com/hupe1980/cdkeks.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: License :: OSI Approved
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: aws-cdk.aws-certificatemanager (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-ec2 (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-efs (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-eks (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-elasticloadbalancingv2 (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-elasticsearch (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-iam (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-logs (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-route53 (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.aws-s3 (<2.0.0,>=1.107.0)
Requires-Dist: aws-cdk.core (<2.0.0,>=1.107.0)
Requires-Dist: cdk8s-plus-17 (<2.0.0,>=1.0.0.b20)
Requires-Dist: cdk8s (==1.0.0.b14)
Requires-Dist: constructs (<4.0.0,>=3.3.75)
Requires-Dist: jsii (<2.0.0,>=1.30.0)
Requires-Dist: publication (>=0.0.3)

# cdkeks

Higher-level hybrid cdk|cdk8s construct to build an eks kubernetes platform with batteries included:

* Network policies with [aws-calico](https://github.com/aws/eks-charts/tree/master/stable/aws-calico)
* DNS management with [external-dns](https://github.com/kubernetes-sigs/external-dns)
* Forwarding logs to CloudWatch Logs or ElasticSearch with [fluent-bit](https://github.com/aws/aws-for-fluent-bit)
* Ingress management with the [aws load balancer controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller)

:warning: This is experimental and subject to breaking changes.

## Install

TypeScript/JavaScript:

```bash
npm install --save cdkeks
```

Python:

```bash
pip install cdkeks
```

## Howto use

### Install Addons

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
platform = Platform(self, "Platform",
    cluster=cluster,
    addons=[AwsCalicoAddon(), AwsLoadBalancerControllerAddon()]
)
```

See more [addons](https://github.com/hupe1980/cdkeks/tree/main/cdkeks/src/addons).

### AlbIngress

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
deployment = Deployment(self, "Deployment",
    platform=platform,
    containers=[{
        "image": "nginx"
    }
    ]
)

backend = IngressBackend.from_service(deployment.expose("Service", 80))

ingress = AlbIngress(self, "Ingress",
    platform=platform,
    target_type=TargetType.IP,
    internet_facing=True
)

ingress.connections.allow_from_any_ipv4(Port.tcp(80))
ingress.add_rule("/", backend)
```

### LoadBalancer

```python
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
deployment = Deployment(self, "Deployment",
    platform=platform,
    containers=[{
        "image": "nginx"
    }
    ]
)

deployment.expose("LoadBalancer", 80,
    service_type=ServiceType.LOAD_BALANCER
)
```

## API Reference

See [API.md](https://github.com/hupe1980/cdkeks/tree/master/cdkeks/API.md).

## Example

See more complete [examples](https://github.com/hupe1980/cdkeks/tree/main/examples).

## License

[MIT](https://github.com/hupe1980/cdkeks/tree/main/cdkeks/LICENSE)


