Skip to content

@kensipe kensipe released this Jun 7, 2019 · 35 commits to master since this release

KUDO v0.2.0

Release Highlights

Go Templating and Sprig

KUDO has switched to Go Templating with Sprig for templates. All Mustache templates should be replaced to their corresponding Go templates. The following keywords are available:

  • {{ .Name }} - Name of the instance
  • {{ .Namespace }} - Namespace the instance is located in
  • {{ .FrameworkName }} - Name of the framework
  • {{ .PlanName }} - Name of the plan being run
  • {{ .PhaseName }} - Name of the phase being run
  • {{ .StepName }} - Name of the step being run
  • {{ .StepNumber }} - Number of the step being run

Additionally, all parameters are now nested under {{ .Params }} in templates. For example, the Username parameter would be available as {{ .Params.Username }}.

KUDO has made the Sprig function library available in templates. This gives a wide range of functions available to framework developers. For safety, KUDO disables functions related to the environment and filesystem inside the manager container. In this release, this includes: env, expandenv, base, dir, clean, ext, isAbs.

Continued work will be done on this to move toward the format described in KEP-9: Operator Toolkit.

KUDO Registry on Google Cloud Storage

KUDO now uses GCS for the registry. This removes the need for .git-credentials, making the process for installing packages much simpler. Work will continue on this with KEP-9: Operator Toolkit, KEP-3: CLI, and the WIP KEP-10, which represents work going on in the KUDO Package Manager.

Install Parameter Syntax changes

The KUDO Install CLI now uses a new syntax for setting parameters. To set a parameter, use:

kubectl kudo install kafka -p cpus=3

This is more consistent with tooling such as Helm.

Homebrew Tap

A Homebrew tap is now available for the KUDO kubectl Plugin. To use it, simply tap the repo and install:

$ brew tap kudobuilder/tap
$ brew install kudo-cli

Controller Distribution

The KUDO controller distribution is now documented in the documentation and contains the Kubernetes manifests needed to install KUDO into your cluster. The Getting Started Guide has more details. Work is ongoing on the KUDO site to incorporate this documentation and have "production ready" installation instructions for KUDO.


Additionally, the team closed dozens of issues related to bugs and performance issues.

665013a @ryadav88 feedback on Kafka stories (#164)
173dac4 Add bundle package for KEP-9 bundles (#305)
368bff1 Add community meetings to README (#152)
dda30cf Add links to community content and frameworks repo. (#278)
2d8f025 Add local build steps to CONTRIBUTING. (#124)
ce36d3c Add logo to README, add retina logo to site (#184)
aad0850 Add logo to the site (#174)
35d2bfb Add note on creating a k8s cluster via minikube with more RAM / CPU (#235)
9d2d3ba Add using kubectl to install the CRDs (#245)
a37f426 Added Ken to CodeOwners (#206)
78e3a0b Added Kubebuilder as prerequisite. (#116)
cb2a963 Added additional folders to .dockerignore. Moved to top level (#291)
8a927a7 Added links to the main GH repo. (#148)
0c8d2f0 Added logo. (#218)
ade9870 Adding a user story (#183)
b92f85e Adding goreleaser (#236)
1c31816 Adding kep for operator toolkit (#237)
118f4e1 Adding the kep for the skeleton generator (#198)
358bc04 Also run tests against the merge of master into the current branch (#289)
98174cc CLI docs improvements (#298)
2abbb52 Change Skeleton Generator KEP to KEP 7 (#211)
06e17c3 Change to Go text/template (#295)
da7186a Change to provisional status (#150)
13bb71f Cicd outline (#144)
c25ae26 Clarification (#244)
5fb92aa Clean up Makefile (#299)
44e1df3 Comparion between tools (#22)
7c81090 Comparison table was not created correctly. Cleaned up table. (#203)
b253704 Configure manifest generation to the correct directory (#193)
9b2e65d Correct spelling of 'receive(d)' (#294)
6eb3b91 DCOS-53410 - KEP for acceptance testing KUDO Frameworks (#215)
b96aa59 Delete (#135)
4b0e40d Enhancing the details around first build (#170)
6b976ab Finish proposal for Dynamic Instances (#224)
19e72de Fix CI merge formatting test. (#231)
ef19537 Fix GetIncubatingFrameworkContentDir unit test (#259)
b6c5c08 Fix broken link to Kafka example in 'getting started' section (#234)
2a91980 Fix failing test (#264)
a843a20 Fix inline JSON struct tags (#196)
eeb3e7f Fix kafka example link in (#201)
7948edf Fix markdown tables on the website, make example commands consistent. (#159)
000daa0 Fix markup (#223)
9c8038a Fix markup and some typos (#242)
43c77c5 Fix the formatting script (#177)
3b4d5f5 Fix typo in docs/, kubebuilder -> kudobuilder. (#207)
92ab12a Fix up - indent install-crds alternative (#250)
706e7ce Fix up the MySQL backup and restore example (#238)
1c1ffcd Fix use of date command so it's compatible with BSD and GNU date (#266)
f275401 Fixing HealthUtil StatefulSet Log Output (#141)
14542ae Fixing Layout of FAQ on Website (#175)
a8053e7 Get rid of .git-credentials and switch to GCS (#300)
b31c442 Happy Linter!! (#182)
34e1edb Improve KEP-0009 (#286)
34c9b1c Initial (#111)
a07dc7c Initial tests for CICD captured by make test (#153)
1efa7fc Install cmd test fix (#287)
1c6dace Just one formatting job (#301)
f0d3b3c Make deploy to print out install yaml files (#282)
1ed7170 Makefile clean and Builds Distributions (#187)
1c7a2d5 Merge the project website into this repo. Fixes #146. (#147)
a1dcba7 Operator toolkit proposal. Assigns KEP 9 to Operator Toolkit SDK (#263)
d81fe0a Polish CLI instructions (#169)
bf67c3a Refactor unit test to not use filesystem (#262)
3ad71ec Remove duplicate content from README and point to website instead. Link to CNCF Code of Conduct. (#233)
e633998 Removed ubuntu:latest and fixed tag to 18.04 (#145)
c271412 Rename list instances to get instances (#258)
211d7aa Required Kustomize Config Change (#190)
4112036 Run tests on every PR using CircleCI (#257)
2a6c513 Simplified Docker build step in Makefile. (#117)
ac4c089 Starting a coding style guide (#191)
55ae38d Static Check Resolutions (#192)
36caa8c Switch to Go Modules (#197)
0c9df64 Update to be more friendly (#205)
1ce74fd Update KEP-0008 status to implementable. (#232)
2e36332 Update Mailing List in CONTRIBUTING (#122)
dd51929 Update OWNERS (#173)
c9b0893 Update README to include run requirements and how to run the CLI (#188)
5ae45a6 Update Release Process. (#120)
921e60d Update Slack link to point to channel. (#123)
4b43a7f Update (#134)
72ef5c1 Update to fix misspelling (#213)
3e95679 Update to issue templates (#131)
bdcc8df Updated FrameworkSpec with metadata from KEP009 (#277)
1c96f47 Updated Mailing list link and OWNERS (#119)
dd3ad09 Updated object specs to pass tests (#27)
7bd9758 Use Helm-style parameters for kudoctl kudo install command (#283)
fb654be Use the intended word (#241)
5393201 [KEP 0002] Initial work on Dynamic CRDs (#115)
0c6b23c [KEP 0003] Initial Draft for (#118)
6ef05ee [KEP 0003] KEP CLI Proposal - Quick Fix (#132)
c4848f7 [KEP 0004] Add Testing Infrastructure (#126)
0076168 [KEP 0005] Cluster Resources for CRD Support (#128)
42908cf [KEP 0006] Stable Kafka Example (#143)
c8c5ec7 [KEP 0006] Stable Kafka Example - Add user stories (#157)
61f6009 [WIP] Adding KEP template (#107)
ee50c3c added PR naming convention (#129)
ec1908c added PR naming convention (#130)
8a2d040 added PR template (#133)
a8ebef6 added demo video and fixed typos (#110)
1af0ffb added version support to Makefile, Dockerfile, Manager with ldflags (#166)
f39bdcc adding CODEOWNERS file (#186)
71be928 adding docker builds with auto push. added ldflags to artifact builds
771f5ca adding dockerfile for goreleaser. adding brew tap configuration for goreleaser
b6a898c adding kubectl version 1.12 to pre-requisites (#168)
3c0fdb6 adding us-west-2 to s3 configuration for goreleaser
16b5e01 caching tools for code gens (#202)
e8a524c changed status to implemented (#139)
54ad6ec convince->convenience (#293)
c4488ff drafted (#112)
6de4fc6 enabled release to GH, or put another way, we set disabled to false
431aa5f fix scaling of deployments (#156)
6ac9078 fix the sample config for kafka (#247)
7f05522 fixing bug in building windows artifacts with make (#267)
b39fb61 goreleaser updates, removed user name from release name, switching to binary artifacts
38ae9b5 kep-3-cli-framework-install initial (#138)
a44bd1d make check-formatting failures fixed (#204)
dac8911 making commands private (#308)
b8edd86 minor documentation edits and typo fixes (#214)
7715d8b remove vendor, add vendor/ to gitignore, clean up bin/ for gitignore (#200)
fcc7f59 removing artifact building from make. goreleaser builds the artifacts.
0363198 removing draft status on goreleaser
2adee02 removing left behind scaffold todos and fixing misspelling (#212)
f157857 removing s3 from goreleaser configuration
dc5215a update for brew release install instructions
25d7839 update of quickstart video (#161)
f25a0bc updating the ignore (#185)

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.2.0

Contributors to this release

KUDO relies on the work of its contributors to succeed. The following people contributed to this release (in no particular order):

Assets 24
You can’t perform that action at this time.