Metadata-Version: 2.1
Name: cdk8s-aws-load-balancer-controller
Version: 2.3.3
Summary: cdk8s-aws-load-balancer-controller is an CDK8S construct library that provides AWS Alb Load Balancer Controller Configure.
Home-page: https://github.com/neilkuan/cdk8s-aws-load-balancer-controller.git
Author: Neil Kuan<guan840912@gmail.com>
License: Apache-2.0
Project-URL: Source, https://github.com/neilkuan/cdk8s-aws-load-balancer-controller.git
Description: [![NPM version](https://badge.fury.io/js/cdk8s-aws-load-balancer-controller.svg)](https://badge.fury.io/js/cdk8s-aws-load-balancer-controller)
        [![PyPI version](https://badge.fury.io/py/cdk8s-aws-load-balancer-controller.svg)](https://badge.fury.io/py/cdk8s-aws-load-balancer-controller)
        ![Release](https://github.com/neilkuan/cdk8s-aws-load-balancer-controller/workflows/Release/badge.svg)
        
        ![Downloads](https://img.shields.io/badge/-DOWNLOADS:-brightgreen?color=gray)
        ![npm](https://img.shields.io/npm/dt/cdk8s-aws-load-balancer-controller?label=npm&color=orange)
        ![PyPI](https://img.shields.io/pypi/dm/cdk8s-aws-load-balancer-controller?label=pypi&color=blue)
        
        # cdk8s-aws-load-balancer-controller
        
        > [cdk8s aws load balancer controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller) constructs for cdk8s
        
        This project was formerly known as "CDK AWS ALB Ingress Controller", I just rename it to be "CDK AWS Load Balancer Controller".
        
        Basic implementation of a [aws load balancer controller](https://github.com/kubernetes-sigs/aws-load-balancer-controller) construct for cdk8s. Contributions are welcome!
        
        ## Before Usage need to install helm
        
        ```bash
        curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
        chmod 700 get_helm.sh
        ./get_helm.sh
        ```
        
        ## Usage
        
        ```bash
        npm i cdk8s-aws-load-balancer-controller
        npm i cdk8s
        or
        yarn add cdk8s-aws-load-balancer-controller
        yarn add cdk8s
        ```
        
        ### AWS Load Balance Controller V1
        
        ```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_aws_load_balancer_controller import AlbIngressController
        
        class MyChart(Chart):
            def __init__(self, scope, name):
                super().__init__(scope, name)
                AlbIngressController(self, "albingresscntroller",
                    cluster_name="EKScluster"
                )
        app = App()
        MyChart(app, "testcdk8s")
        app.synth()
        ```
        
        ### AWS Load Balance Controller V2
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        from cdk8s import App, Chart
        from cdk8s_aws_load_balancer_controller import AwsLoadBalancerController
        import constructs as constructs
        
        class MyChart(Chart):
            def __init__(self, scope, name, *, clusterName):
                super().__init__(scope, name)
                alb = AwsLoadBalancerController(self, "alb",
                    cluster_name=cluster_name,
                    create_service_account=False
                )
                self.deployment_name = alb.deployment_name
                self.deployment_name_space = alb.namespace
        app = App()
        MyChart(app, "testcdk8s")
        app.synth()
        ```
        
        ### AWS Load Balance Controller V2 specific Namespace.
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        from cdk8s import App, Chart
        from cdk8s_aws_load_balancer_controller import AwsLoadBalancerController
        import constructs as constructs
        
        class MyChart(Chart):
            def __init__(self, scope, name, *, clusterName):
                super().__init__(scope, name)
                alb = AwsLoadBalancerController(self, "alb",
                    cluster_name=cluster_name,
                    create_service_account=False,
                    namespace="kube-system"
                )
                self.deployment_name = alb.deployment_name
                self.deployment_name_space = alb.namespace
        app = App()
        MyChart(app, "testcdk8s")
        app.synth()
        ```
        
        # Featrue For Add IAM Policy.
        
        * For IRSA add IAM Policy version 1.
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        # CDK APP like eks_cluster.ts
        from cdk8s_aws_load_balancer_controller import AwsLoadBalancePolicy, VersionsLists
        import aws_cdk.aws_eks as eks
        cluster = eks.Cluster(self, "MyK8SCluster",
            default_capacity=0,
            masters_role=cluster_admin,
            version=eks.KubernetesVersion.V1_18
        )
        
        alb_service_account = cluster.add_service_account("alb-ingress-controller",
            name="alb-ingress-controller",
            namespace="kube-system"
        )
        # will help you add policy to IAM Role .
        AwsLoadBalancePolicy.add_policy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V1, alb_service_account)
        ```
        
        * For IRSA add IAM Policy version 2.
        
        ```python
        # Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
        # CDK APP like eks_cluster.ts
        from cdk8s_aws_load_balancer_controller import AwsLoadBalancePolicy, VersionsLists
        import aws_cdk.aws_eks as eks
        cluster = eks.Cluster(self, "MyK8SCluster",
            default_capacity=0,
            masters_role=cluster_admin,
            version=eks.KubernetesVersion.V1_18
        )
        
        sa = eks.ServiceAccount(self, "albserviceaccount",
            cluster=cluster,
            name="aws-load-balancer-controller"
        )
        AwsLoadBalancePolicy.add_policy(VersionsLists.AWS_LOAD_BALANCER_CONTROLLER_POLICY_V2, sa)
        ```
        
        Also can see [example repo 1](https://github.com/neilkuan/cdk8s-cdk-example)
        or [example repo 2](https://github.com/neilkuan/eks-mgng-tagging-name.git) work with aws cdk.
        
        ## License
        
        Distributed under the [Apache 2.0](./LICENSE) license.
        
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
