cdk8s-debore 0.1.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

cdk8sdebore 0.1.1

cdk8s-debore
Run your apps on Kubernetes cluster without bored YAMLing, powered by the cdk8s project 🚀
Overview
cdk8s-debore is a cdk8s library which allows you to define your Kubernetes app with just few lines of code.
# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
DeboredApp(self, "webapp",
image="your-image:latest",
auto_scale=True,
ingress=IngressType.NGINX_INGRESS
)

Then the Kubernetes manifests created by cdk8s synth command will have Kubernetes resources such as Deployment, Service, HorizontalPodAutoscaler, Ingress, as follows.

manifest.k8s.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-webapp-deployment-deployment-d67b425c
namespace: default
spec:
selector:
matchLabels:
app: myappwebapp4BD95A2A
template:
metadata:
labels:
app: myappwebapp4BD95A2A
spec:
containers:
- image: your-image:latest
imagePullPolicy: Always
name: app
ports:
- containerPort: 8080
resources:
limits:
cpu: 400m
memory: 512Mi
requests:
cpu: 200m
memory: 256Mi
---
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my-app-webapp-deployment-hpa-bd8107fd
namespace: default
spec:
maxReplicas: 10
metrics:
- resource:
name: cpu
target:
averageUtilization: 85
type: Utilization
type: Resource
- resource:
name: memory
target:
averageUtilization: 75
type: Utilization
type: Resource
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app-webapp-deployment-deployment-d67b425c
---
apiVersion: v1
kind: Service
metadata:
name: my-app-webapp-exposable-service-d6a35671
namespace: default
spec:
ports:
- port: 8080
targetPort: 80
selector:
app: myappwebapp4BD95A2A
type: ClusterIP
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
name: my-app-webapp-exposable-ingress-c350957f
namespace: default
spec:
rules:
- http:
paths:
- backend:
serviceName: my-app-webapp-exposable-service-d6a35671
servicePort: 80
path: /my-app-webapp-deployment-deployment-d67b425c


Installation
cdk8s supports TypeScript and Python at this point, so as cdk8s-debore.
We'd recommend to walk through the cdk8s Getting Started guide before using this library, if you're very new to cdk8s world.
TypeScript
Use npm or yarn to install.
$ npm install -s cdk8s-debore

or
$ yarn add cdk8s-debore

Python
$ pip install cdk8s-debore

Contribution


Fork (https://github.com/toricls/cdk8s-debore/fork)


Bootstrap the repo:
npx projen # generates package.json and friends
yarn install # installs dependencies



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





Create a feature branch


Commit your changes


Rebase your local changes against the master branch


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


Licence
Apache License, Version 2.0
Author
Tori

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.