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
-
Bootstrap the repo:
npx projen # generates package.json and friends yarn install # installs dependencies
-
Development scripts:
Command Description yarn compileCompiles typescript => javascript yarn watchWatch & compile yarn testRun unit test & linter through jest yarn test -uUpdate jest snapshots yarn run packageCreates a distwith packages for all languages.yarn buildCompile + test + package yarn bumpBump version (with changelog) based on conventional commits yarn releaseBump + 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
Author
Metadata
Release files for cdk8s-debore 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cdk8s-debore-0.1.1.tar.gz | 283.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cdk8s_debore-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 565.2 kB
Release files / cdk8s-debore-0.1.1.tar.gz
| Download URL | cdk8s-debore-0.1.1.tar.gz |
|---|---|
| Size | 283.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc4063b6ec93ec09c332419c9e377a7d378c832a618e603c69f1e8afef7d38d2
|
|
BLAKE2b-256 checksum How to use checksums |
a9b031747cd9f88789f8983795afcbb61a2b7e47bc5b4458aebb468af673baed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6
|
Release files / cdk8s_debore-0.1.1-py3-none-any.whl
| Download URL | cdk8s_debore-0.1.1-py3-none-any.whl |
|---|---|
| Size | 281.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
29b92566bf3944ee4106a209caad6b9ea336b2faa2cfcab08080640356ea51f0
|
|
BLAKE2b-256 checksum How to use checksums |
d682aa5eeb235fe58236ae5086e730d71793cb750b1d57189a0857242d416e4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.6
|