Skip to content

smallcase/cdk8s-aws-lb-controller-api-object

 
 

Repository files navigation

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

About

API Object for AWS Load Balancer Controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.8%
  • JavaScript 0.2%