kubemate application blueprint.
Create a new application by fetching, configuring and rendering this kpt package.
To create a new application myapp
using this package as a blueprint, run:
kpt pkg get https://github.com/mgoltzsche/kubemate-app-blueprints.git/packages/app[@VERSION] myapp
or with docker
:
docker run --rm -u `id -u` -e HOME=/tmp -v `pwd`:/data -w /data gcr.io/kpt-dev/kpt:v1.0.0-beta.25 pkg get https://github.com/mgoltzsche/kubemate-app-blueprints.git/packages/app myapp
See kpt pkg get
documentation.
Within the fetched package's directory, edit setters.yaml
to meet your requirements.
To replace the corresponding values within the manifests and skaffold.yaml, call make render
or rather kpt fn render
.
TL;DR: Variant Constructor Pattern
To list the supported targets, run make help
.
- git
- make
- docker 20+
- kubectl
To build the application container image using skaffold, run:
make image
To deploy the application using skaffold, run:
make deploy
To deploy the application in debug mode (debug ports forwarded), stream its logs and redeploy on source code changes automatically, run:
make debug
To undeploy the application, run:
make undeploy
To apply blueprint updates to the application codebase, update the kpt package:
- Before updating the package, make sure you don't have uncommitted changes in order to be able to distinguish package update changes from others.
- Call
make blueprint-update
or ratherkpt pkg update
andkpt fn render
(applies the configuration withinsetters.yaml
to the manifests andskaffold.yaml
). - Before committing the changes, review them carefully and make manual changes if necessary.
TL;DR: Variant Constructor Pattern
The release process is driven by Conventional Commits, letting the CI pipeline generate a version and publish a release depending on the commit messages on the main
branch.