@opencdk8s/cdk8s-aws-lb-controller-api-object
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.4 • Public • Published

    cdk8s-aws-lb-controller-api-object

    Release npm version PyPI version npm

    API Object for AWS Load Balancer Controller, powered by the cdk8s project and aws-load-balancer-controller 🚀

    Overview

    import { Construct } from 'constructs';
    import { App, Chart, ChartProps } from 'cdk8s';
    import { AWSLoadBalancerControllerObject } from '@opencdk8s/cdk8s-aws-lb-controller-api-object'
    
    
    export class MyChart extends Chart {
      constructor(scope: Construct, id: string, props: ChartProps = { }) {
        super(scope, id, props);
        new AWSLoadBalancerControllerObject(this, 'example', {
          metadata: {
            annotations: {
              'kubernetes.io/ingress.class': 'alb',
            }
          },
          spec: {
            rules: [{
              host: "example.com",
              http: {
                paths: [{
                  path: '/*',
                  backend: {
                    serviceName: 'helloworld-svc',
                    servicePort: 80
                  }
                }]
              }
            }]
          }
        })
    
        }
    }
    
    const app = new App();
    new MyChart(app, 'example1');
    app.synth();

    Example cdk8s synth manifest as follows.

    manifest.k8s.yaml
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      annotations:
        kubernetes.io/ingress.class: alb
      name: example-c89c1904
    spec:
      rules:
        - host: example.com
          http:
            paths:
              - backend:
                  serviceName: helloworld-svc
                  servicePort: 80
                path: /*
    
    

    Installation

    TypeScript

    Use yarn or npm to install.

    $ npm install @opencdk8s/cdk8s-aws-lb-controller-api-objects
    $ yarn add @opencdk8s/cdk8s-aws-lb-controller-api-objects

    Python

    $ pip install cdk8s-aws-lb-controller-api-objects

    Contribution

    1. Fork (link)

    2. Bootstrap the repo:

      yarn install # installs dependencies
      yarn projen   
    3. Development scripts:

      Command Description
      yarn compile Compiles typescript => javascript
      yarn watch Watch & compile
      yarn test Run unit test & linter through jest
      yarn test -u Update jest snapshots
      yarn run package Creates a dist with packages for all languages.
      yarn build Compile + test + package
      yarn bump Bump version (with changelog) based on [conventional commits]
      yarn release Bump + push to master
    4. Create a feature branch

    5. Commit your changes

    6. Rebase your local changes against the master branch

    7. Create a new Pull Request (use conventional commits for the title please)

    Licence

    Apache License, Version 2.0

    Author

    Hunter-Thompson

    Keywords

    Install

    npm i @opencdk8s/cdk8s-aws-lb-controller-api-object

    DownloadsWeekly Downloads

    26

    Version

    0.0.4

    License

    Apache-2.0

    Unpacked Size

    2.06 MB

    Total Files

    14

    Last publish

    Collaborators

    • hunter-thompson
    • agarwal-sumit
    • gagan1510