Kudo Versions Save

Kubernetes Universal Declarative Operator (KUDO)

v0.13.0

4 years ago

πŸš€ Highlights

  • Operators Search Support (#1462)
  • Pipe Task Enhancement (#1484)
  • Better Wait Handling on Installs (#1469)
  • ARM64 Support (#1488)

⚠️ Breaking Changes

  • Remove redundant Instance.Status.AggregatedStatus field (#1474)

Changelog

f181a858 Activating instance admission controller for the e2e tests (#1473) 63c653a6 Add ARM64 Support (#1488) e6bae641 Add kudo init --unsafe-self-signed-webhook-ca option (#1459) b92b50cc Add possibility for pipe-tasks to pipe env-files (#1484) 58ef809d Allow simultaneous upgrade and parameter update (#1495) 24767762 Always Docker Push on Release Including RC (#1468) 9a0e2972 Apply labels and annotations only in the correct paths (#1499) 3a22e56c Better Wait Handling on Installs (#1469) 89528fb9 Build ARM64 Docker images in 'goreleaser' (#1494) 5ca644e5 KEP-22: Diagnostics Bundle (#1310) 2eecbfe8 KEP-27: Detailed Control for Pod Restarts (#1449) 1d1a9c1c KEP-27: Detailed pod restart control by dependencies hash (#1483) 62921fc9 KEP-29: Operator dependencies (#1454) 5c256adb Makefile silence failing version checks (#1458) c8e42957 Man's Search for Operators (#1462) 16d2c502 Package verify to verify all the versions in operator.yaml (#1460) e9cfc2be Remove redundant Instance.Status.AggregatedStatus field (#1474) 9eaad411 Update third-party dependencies and use Go 1.14 (#1456) 1e7adc96 Use dispatch 1.1.0-beta1 (#1475) bf5c0907 Waiting For a Plan to Finish (#1461) 1009a839 docker publish updates (#1471) 8ae008e3 fix: Use namespace specified by current config context (#1489) 6dd497de kudoinit refactoring (#1491) 89fe2dc3 kuttl v0.2.0 bump (#1500) 27aa5463 Allow to override the pull policy of the controller in 'kudo init' (#1507) 010b94f6 KEP-31: Namespace Management (#1496) fdfe3566 Skip resources that are NotFound for dependency calculation (#1519) cf7ce86d Uncached client for instance admission webhook (#1516) 900ca042 bump to kuttl 0.2.1 release and adding darwin back to release for local testing (#1524)

Contributors

@ANeumann82, @kensipe, @nfnt and @zen-dog

Docker images

  • docker pull kudobuilder/controller-arm64:latest
  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.13.0
  • docker pull kudobuilder/controller-arm64:v0.13.0

v0.13.0-rc1

4 years ago

Changelog

f181a858 Activating instance admission controller for the e2e tests (#1473) 63c653a6 Add ARM64 Support (#1488) e6bae641 Add kudo init --unsafe-self-signed-webhook-ca option (#1459) b92b50cc Add possibility for pipe-tasks to pipe env-files (#1484) 58ef809d Allow simultaneous upgrade and parameter update (#1495) 24767762 Always Docker Push on Release Including RC (#1468) 9a0e2972 Apply labels and annotations only in the correct paths (#1499) 3a22e56c Better Wait Handling on Installs (#1469) 89528fb9 Build ARM64 Docker images in 'goreleaser' (#1494) 5ca644e5 KEP-22: Diagnostics Bundle (#1310) 2eecbfe8 KEP-27: Detailed Control for Pod Restarts (#1449) 1d1a9c1c KEP-27: Detailed pod restart control by dependencies hash (#1483) 62921fc9 KEP-29: Operator dependencies (#1454) 5c256adb Makefile silence failing version checks (#1458) c8e42957 Man's Search for Operators (#1462) 16d2c502 Package verify to verify all the versions in operator.yaml (#1460) e9cfc2be Remove redundant Instance.Status.AggregatedStatus field (#1474) 9eaad411 Update third-party dependencies and use Go 1.14 (#1456) 1e7adc96 Use dispatch 1.1.0-beta1 (#1475) bf5c0907 Waiting For a Plan to Finish (#1461) 1009a839 docker publish updates (#1471) 8ae008e3 fix: Use namespace specified by current config context (#1489) 6dd497de kudoinit refactoring (#1491) 89fe2dc3 kuttl v0.2.0 bump (#1500)

Docker images

  • docker pull kudobuilder/controller-arm64:v0.13.0-rc1
  • docker pull kudobuilder/controller:v0.13.0-rc1

v0.12.0

4 years ago

πŸš€ Highlights

  • KEP-26: Add a --parameter-file flag (#1410)
  • Package Verify Support for Template Range (#1455)
  • Release Now Includes Linux kubectl-kudo binary artifacts

Changelog

11985828 Add integration tests for the instance admission controller (#1442) 9ed8b1e1 Check Controller-gen Version (#1434) 98cee773 Fix updating invalid Instance parameters (#1441) 82511c3e Keep plan name in instance aggregated status when plan is terminal (#1451) 9a8b2ae8 Moving to KUTTL (#1435) 50a43f45 Package Verify Support for Template Range (#1455) 8827aa0a Replace next-release branch with post-vx.y.z. (#1439) 9515d865 Use sigs.k8s.io/yaml rather than pkg.in/yaml.v2. (#1438) d15393b7 bump to latest go lint (#1443) 66e3db30 golangci-lint memory issue fix (#1453) 08355d95 updating docs based on doc lint checking (#1446)

Contributors

@kensipe, @porridge and @zen-dog

Docker images

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

v0.12.0-rc1

4 years ago

πŸš€ Highlights

  • KEP-26: Add a --parameter-file flag (#1410)
  • Package Verify Support for Template Range (#1455)
  • Release Now Includes Linux kubectl-kudo binary artifacts

Changelog

11985828 Add integration tests for the instance admission controller (#1442) 9ed8b1e1 Check Controller-gen Version (#1434) 98cee773 Fix updating invalid Instance parameters (#1441) 82511c3e Keep plan name in instance aggregated status when plan is terminal (#1451) 9a8b2ae8 Moving to KUTTL (#1435) 50a43f45 Package Verify Support for Template Range (#1455) 8827aa0a Replace next-release branch with post-vx.y.z. (#1439) 9515d865 Use sigs.k8s.io/yaml rather than pkg.in/yaml.v2. (#1438) d15393b7 bump to latest go lint (#1443) 66e3db30 golangci-lint memory issue fix (#1453) 08355d95 updating docs based on doc lint checking (#1446)

Contributors

@kensipe, @porridge and @zen-dog

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.12.0-rc1

v0.11.1

4 years ago

Changelog

452c5b6a Bumped dependencies (#1420) b5f1f295 Enhancer and HealthUtil now differentiate between fatal and transient errors (#1427) 492bcdc6 Fetch only server resources for a specific groupVersion, not all groups to detect isNamespaced (#1423) 451d5c4e Fixes #964: Add the --wait flag to install (#966) 5a3ad3a1 KEP-26: Implementation to add --parameter-file flag 5f925716 Update KEP-20 status (#1415) b1ef3180 Update some KEP status and refresh the list. (#1429) dc749240 Use cached discovery interface (#1422) 5c47566f update to release process (#1428)

Contributors

@ANeumann82, @anthonydahanne, @kensipe, @porridge and @zen-dog

Docker images

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

v0.11.0

4 years ago

πŸš€ Highlights

  • Support typed parameter values @nfnt (#1376)
  • KEP-25: Implementation of toYaml function. @porridge (#1375)
  • KEP-23: Toggle task @zmalik (#1361)
  • KEP-20 part 2: trigger plans manually @zen-dog (#1352)

⚠️ Breaking Changes

  • Change LastFinished to LastUpdated, timestamp every plan status change @yankcrime (#1365)
  • Fix ApplyTask patch behavior @ANeumann82 (#1332)
  • KEP-20 part 2: trigger plans manually @zen-dog (#1352)

Changelog

3ba890cb Fix decoding errors with large YAML templates (#1400) 221e1ba2 Fix tar test. (#1409) 484f6212 KEP-0009 and KEP-0010 Updates with Examples and TOC (#847) c6155cab KEP-20 part 2: trigger plans manually (#1352) 2d14e7cf KEP-26: Reading parameter values from a file (#1364) f6b8509d Manager no longer is a deployment (#1399) 6bd083d0 Mention template filename in error message. (#1401) 53e35105 Teach package verifier about pipe tasks. (#1402) 321d4aca Update some KEP metadata and list. (#1405) 2fb38e49 Add RenderVerifier for templates (#1327) 47853d3a Add a pre-commit hook to check for signed-off commits (#1168) 539513fe Add user stories for KEP-19 (#1340) def4bf46 Added BasicVerifier for Tasks (#1324) df45ee80 Added release-drafter template (#1366) 2dd0f036 Bump golangci-lint to 1.23.7 (#1372) f0eec84b Change LastFinished to LastUpdatedTimestamp, timestamp every plan status change (#1365) 337490df Cleanup finalizer removal in instance update (#1389) da8b6544 Compare real operator name, not prefix when checking for installed versions (#1337) 9dea5fdc Document how docs are handled before and during release. (#1388) 42bf5837 Enable Release-Drafter Action 6871b2f6 Error out a task if a job reaches terminal state (#1370) 62fc5802 Error out in instance controller when a parameter has an undefined plan trigger (#1336) 9aa79df5 Error out in instance webhook when a parameter has an undefined plan trigger (#1345) 262a562b Explicitly cover only specific plan status for cleanup plans (#1358) 8afbb973 Fix ApplyTask patch behavior (#1332) ace61866 Fix error logging in kudo-cli test (#1318) 1c0f33c0 Fixed calculation of reconcile event handling for PipePods (#1322) 21d3b6b7 KEP-23: Enabling and disabling features in operators (#1317) 3b159d5c KEP-24: Enhanced Operator Parameters (#1356) ddd65eda KEP-25: Implementation of toYaml function. (#1375) 825c3ca9 Keep instance helpers deterministic d83fa720 Make lint work without a $GOPATH. (#1374) 9a84b71a Making finalizer removal even more readable (#1393) 55f7144d Mark KEP-25 as implemented and refresh list. (#1382) 9c8d6bc2 Mark the status in the kep-template provisional (#1348) 15b143a2 Move KEP-23 to implementable (#1333) 95ca08f1 Plan verifier checks for mandatory deploy plan (#1342) e2bc07eb Plumb rest config through from manager. (#1334) 5cb9b0b0 Refactored YamlToObject. (#1307) 06200957 Remove the Instance finalizer only if the cleanup plan was successfully finished (#1368) 44204783 Simplified and updated go.mod (#1325) f726968d Simplify instance update code (#1378) 4f1fce8f Sort output of plan status and history commands (#1371) 51bf78ce Support typed parameter values (#1376) b7b0accb Update Release Drafter details and documentation (#1386) 816f80d9 Update golden files the easy way (#1381) 7ff16496 Update the KEP-23 status (#1387) 4ba7c330 Updated release drafter config, added documentation (#1384) ef9a786e Use a fork of code-generator. (#1359) bbb21cd0 Use full filename and path to check for operatorFile and paramsFile (#1344) ff85649a Using discovery client to properly check for cluster-scoped resources (#1319) 8616529a Verify that a rendered template is valid YAML (#1362) 0a0c8832 Verify that cert manager is installed (#1186) 80c81053 [KEP 0025] Template toYaml function (#1363) 04941d22 chore: add target to update golden-files for individual tests (#1369) 61bd248f community communication highlight on readme (#1390) 85486ce9 feat: [KEP-23] add toggle task (#1361) a23df014 update to todo grep (#1385) 6e9e762e updating to be consistent with our release process (#1379)

Contributors

@ANeumann82, @armandgrillet, @gerred, @harryge00, @jbarrick-mesosphere, @kensipe, @nfnt, @porridge, @yankcrime, @zen-dog, @zmalik, and @anthonydahanne

Docker images

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

v0.11.0-rc1

4 years ago

πŸš€ Highlights

  • Support typed parameter values @nfnt (#1376)
  • KEP-25: Implementation of toYaml function. @porridge (#1375)
  • KEP-23: Toggle task @zmalik (#1361)

⚠️ Breaking Changes

  • Change LastFinished to LastUpdated, timestamp every plan status change @yankcrime (#1365)
  • Fix ApplyTask patch behavior @ANeumann82 (#1332)

Changelog

2fb38e49 Add RenderVerifier for templates (#1327) 47853d3a Add a pre-commit hook to check for signed-off commits (#1168) 539513fe Add user stories for KEP-19 (#1340) def4bf46 Added BasicVerifier for Tasks (#1324) df45ee80 Added release-drafter template (#1366) 2dd0f036 Bump golangci-lint to 1.23.7 (#1372) f0eec84b Change LastFinished to LastUpdatedTimestamp, timestamp every plan status change (#1365) 337490df Cleanup finalizer removal in instance update (#1389) da8b6544 Compare real operator name, not prefix when checking for installed versions (#1337) 9dea5fdc Document how docs are handled before and during release. (#1388) 42bf5837 Enable Release-Drafter Action 6871b2f6 Error out a task if a job reaches terminal state (#1370) 62fc5802 Error out in instance controller when a parameter has an undefined plan trigger (#1336) 9aa79df5 Error out in instance webhook when a parameter has an undefined plan trigger (#1345) 262a562b Explicitly cover only specific plan status for cleanup plans (#1358) 8afbb973 Fix ApplyTask patch behavior (#1332) ace61866 Fix error logging in kudo-cli test (#1318) 1c0f33c0 Fixed calculation of reconcile event handling for PipePods (#1322) 21d3b6b7 KEP-23: Enabling and disabling features in operators (#1317) 3b159d5c KEP-24: Enhanced Operator Parameters (#1356) ddd65eda KEP-25: Implementation of toYaml function. (#1375) 825c3ca9 Keep instance helpers deterministic d83fa720 Make lint work without a $GOPATH. (#1374) 9a84b71a Making finalizer removal even more readable (#1393) 55f7144d Mark KEP-25 as implemented and refresh list. (#1382) 9c8d6bc2 Mark the status in the kep-template provisional (#1348) 15b143a2 Move KEP-23 to implementable (#1333) 95ca08f1 Plan verifier checks for mandatory deploy plan (#1342) e2bc07eb Plumb rest config through from manager. (#1334) 5cb9b0b0 Refactored YamlToObject. (#1307) 06200957 Remove the Instance finalizer only if the cleanup plan was successfully finished (#1368) 44204783 Simplified and updated go.mod (#1325) f726968d Simplify instance update code (#1378) 4f1fce8f Sort output of plan status and history commands (#1371) 51bf78ce Support typed parameter values (#1376) b7b0accb Update Release Drafter details and documentation (#1386) 816f80d9 Update golden files the easy way (#1381) 7ff16496 Update the KEP-23 status (#1387) 4ba7c330 Updated release drafter config, added documentation (#1384) ef9a786e Use a fork of code-generator. (#1359) bbb21cd0 Use full filename and path to check for operatorFile and paramsFile (#1344) ff85649a Using discovery client to properly check for cluster-scoped resources (#1319) 8616529a Verify that a rendered template is valid YAML (#1362) 0a0c8832 Verify that cert manager is installed (#1186) 80c81053 [KEP 0025] Template toYaml function (#1363) 04941d22 chore: add target to update golden-files for individual tests (#1369) 61bd248f community communication highlight on readme (#1390) 85486ce9 feat: [KEP-23] add toggle task (#1361) a23df014 update to todo grep (#1385) 6e9e762e updating to be consistent with our release process (#1379)

Contributors

@ANeumann82, @armandgrillet, @gerred, @harryge00, @jbarrick-mesosphere, @kensipe, @nfnt, @porridge, @yankcrime, @zen-dog and @zmalik

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.11.0-rc1

v0.10.1

4 years ago

Changelog

48e8c171 Add feature gating system (#911) cf56876b Additional Code Linters (#1304) 8b67df5d Apply metadata the same way as Kustomize did (#1308) 35dd0368 Basic validation of index files (#1281) b7dc796c Better error message around resoling an operator package (#1276) 8df525ae Bugfix: IntegrationTest TestRestartController (#1313) 60afdc30 Document and tests for how package name, operator version and app version is resolved. (#1277) abb1219f Enable the 'scopelint' and 'unconvert' linters (#1299) ef36da2e Fake being in GOPATH when generating code. (#1253) e57a7b1f Fix YamlToObject file splitting. (#1298) b53581a2 Fix flag name in example. (#1278) 99bd6964 Fix trailing newlines when printing errors. (#1270) ab3ac68b Forces pulling down base image before building new image via goreleaser (#1264) 0ed96322 KEP-20, Part 1: Extend admission webhook and implement Instance.PlanExecution (#1188) e737ccdd Make WaitForCRDs work with Unstructured arguments. (#1284) d80c8bcb Populate GVK in objects fetched from API server. (#1280) 8f66e347 Print detailed error when installing package. (#1314) 7343faa9 Proper handling of cluster-scoped resources in operators (#1306) 23f0c851 Refactored phase status checking. (#1291) 046bc4d5 Separated TestHarness API into its own package (#1262) 9fb5fcda Store KinD logs artifact in E2E tests (#1250) 34a93d77 Verify kubernetesVersion when running 'package verify'. (#1296) 423acdb2 if plans are missing from operator yaml it results in a nil map. no joy. this fixes that (#1300)

Docker images

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

v0.10.0

4 years ago

Highlights

Skeleton Generators (#1206 and (#1222))

In addition to directly working with UYAML, it is now possible to create or update an operator from prompts in the kudo CLI. The following is now possible:

  • Add Maintainer
  • Add Task
  • Add Plan
  • Add Parameter

In addition to kudo package new to create a new operator. kudo package new foo will create a new subfolder to the current folder named operator (by default) and stub out an operator.yaml and params.yaml file. By using the -i flag you can create using interactive prompts.

Example to create a new operator.

# non-interactive
kubectl kudo package new foo
βœ” ~/projects/
16:11 $ tree operator/
operator/
β”œβ”€β”€ operator.yaml
└── params.yaml

# interactive
kubectl kudo package new foo -i
Operator Name: foo
Operator directory: operator
Operator Version: 0.1.0
Application Version: 0.1.0
Required KUDO Version: 0.10.0
Project URL: http://kudo.dev

All the commands to add content to an operator are located under kudo package add. Give it a try!

Understand Operator Details ((#1223))

Previously it was challenging to understand the internal details of an operator. As an operator developer you may want to know what plans are currently supported. As a KUDO user you may want to know what parameters are currently supported and what their defaults are. KUDO 0.10.0 now supports package list for the following commands:

  • tasks
  • plans
  • parameters

This feature is useful against local operators or against operators in a repository.

The follow is the list of plans for zookeeper from the current repository.

kubectl kudo package list plans zookeeper
plans
β”œβ”€β”€ deploy (serial)
β”‚   β”œβ”€β”€ [phase]  zookeeper (parallel)
β”‚   β”‚   └── [step]  deploy
β”‚   β”‚       β”œβ”€β”€ infra
β”‚   β”‚       └── app
β”‚   └── [phase]  validation (serial)
β”‚       β”œβ”€β”€ [step]  validation
β”‚       β”‚   └── validation
β”‚       └── [step]  cleanup
β”‚           └── validation-cleanup
└── validation (serial)
    └── [phase]  connection (serial)
        β”œβ”€β”€ [step]  connection
        β”‚   └── validation
        └── [step]  cleanup
            └── validation-cleanup

Operator Package Update ((#1028) and (#1257)

Note: Breaking Change

We came to agreement on how to handle versioning with KEP-19 and this release implements that agreement. The core change to the operator developer is that version was renamed to operatorVersion. An additional consequence is the tgz packages have the full version of appVersion_operatorVersion in their file names. This necessitated the creation of another operator repository.

Note: Previous users will need to either re-init their client or add the new repository to their repository listings.

To add the latest repository:

kubectl kudo repo remove community
kubectl kudo repo add community https://kudo-repository.storage.googleapis.com/0.10.0

Note: Breaking Change For consistency and better UX, the command

kubectl kudo params list

was changed to

kubectl kudo package list parameters

Changelog

689004bf Add annotations for controller-gen. (#1194) 23b777c6 Add appVersion and version to CRD to match the structs. (#1195) f5e963bc Add leading dashes to please controller-gen. (#1239) 1f0be0b7 Add verifier support for the special $ variable. (#1255) fa80cbd6 Adding funk library to the project (#1237) fddf4927 Adds a fix to include CA data in generated kubeconfig (#1226) a6be57a5 Adjust description in the PR template (#1220) 61e21945 Always pass in obj with latest generation (#1187) 09f3743d Arrange import sections following our styleguide (#1192) 7d841197 Autogeneration of CRDs. (#1240) 291de81c Bump 'golangci-lint' to v1.22.2 (#1249) c85e68c2 Bump code generator and remove stale workaround note. (#1244) b4a92bae Check that generated files are up to date (#1233) 6dcbee3f Check the type assertion on funk.Keys return value. (#1256) 189b0ce5 Chore: Update direct dependencies to their latest versions (#1193) eb7e1660 Code gen updates (#1230) ef076734 Do not deepcopy, instance can be nil (#1185) 9b97bd02 Document how to do pre-releases (#1174) a90277df Fix example, add links, mention make import (#1154) 0aeb8016 Fix goroutine leak and remove duplicate health (#1246) c3bf32b7 Get rid of dependency on kustomize in controller (#1234) d2310b12 Implement KEP-19 by distinguishing between app and operator version (#1257) cbdfb88d Improve test transparency. (#1209) 55576a2a Include dots in regex for image version substitution. (#1259) e2d383f4 Include phase strategy in plan status output (#1173) b85bd6c6 KEP-19: Versioning for operator packages (#1028) 08f299e7 Mention how to get imports right in IDEA or Goland. (#1242) 3ca2ebe5 Operator Skeleton Generator (#1206) 60b0f193 Operator Skeleton Generators (#1222) 52ecf33c Package List (Parameters | Tasks | Plans) (#1223) 8b5a2ee2 Refactor Instance Methods Try 2 (#1254) 06e30853 Refactor KinD usage in test harness and allow to add (local) containers (#1217) 366222dd Refactored instance validation webhook (#1207) 09691f1b Reintroduce 366222d (#1207) (#1232) e492fc71 Remove and prevent unchecked type assertions (#1245) c953e30c Remove confusing no-op validate: tags. (#1251) 5977dda6 Remove obsolete linting steps from the styleguide (#1203) 59f9ec91 Remove some unused labels. (#1190) 1f93044f Remove the stale references to kustomize. (#1241) ff75b968 Remove the unused crdVersion from CRD. (#1204) 01808def Remove unnecessary accidental debug logging from test harness (#1227) 50d57060 Removed duplicated parameterDiff method (#1215) 8412987d Rename the CRD files. (#1210) 3e2625e6 Replace 'properties/assert' with 'testify/assert' (#1248) 854feb28 Revert PR 1207 (bug) and Regen code (to fix imports) (#1229) 64fc8fcb Sort required fields. (#1212) fec74d4e Start operatorVersion field with lower-case letter. (#1196) 537dc98f Unify description spelling in cmd and pkg/apis. (#1172) ef9d22d6 Update field description to match the one in kudoinit. (#1198) e706bacf Update release.md with another step (#1200) 6b312021 Update the krew description (#1199) aacc831b Update to bindata file 20bdc937 Use a KUDO deployment for E2E testing (#1243) e5361cba Use empty json tags to please controller-gen. (#1181) (#1191) 8b55215a Use go-bindata to embed YAML files with CRDs. (#1211) 770d8620 Use the correct type for UpgradableFrom. (#1197) 343696a5 Verifier for tasks and plans (#1224) ec73f075 When building binaries, compile the whole package. (#1208) 857f9e63 Windows CLI is not currently built for KUDO so do not include in Krew manifest (#1202) 6e29e32a adding code gen to ci build (#1231) e7244b3a need to lock in version of generators (#1236)

Docker images

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

v0.9.0

4 years ago

Highlights

Pipe tasks (#1105)

as defined in KEP-0017 we introduce a new Pipe task. Given a task specification like:

tasks:
  - name: genfiles
    kind: Pipe
    spec:
      pod: pipe-pod.yaml
      pipe:
        - file: /tmp/foo.txt
          kind: Secret # or ConfigMap
          key: foo

KUDO will:

  • create a Pod with the provided pipe-pod.yaml
  • wait for the successful execution of the container
  • copy out specified pipe files
  • store them in the API server (in the above example as a Secret)
  • the secret can be referenced in the subsequent resources as {{Pipes.foo}}

For more information read our docs.

Admission webhook for ensuring plan atomicity and validation (#1133)

To be able to ensure plans run to completion and all the guarantees KUDO provides are met, KUDO needs an admission webhook. We’ve introduced first version of the webhook in 0.9.0. It’s an experimental and optional feature for now, but we recommend always running with webhook especially in production environment. We’ll keep adding more rules in the next releases and most probably will make the webhook mandatory when installing KUDO.

For more information read our docs.

Cleanup plan (#1188)

If an optional cleanup plan is part of an operator, this plan will run when the operator's instance is being deleted. Once this plan is completed or failed, the instance will be deleted.

For more information read our docs.

Improved developer experience with kudo package verify (#1106)

When developing an operator, the CLI can now help you verify your work looking for unused parameters or other bugs. It outputs list of warnings/errors to help you with that.

More on the usage in our docs

Other notable changes

  • Enable status subresource (#1044)
  • Service account is now overridable (PR)

Changelog

9981ed2b Wait for the entire assert timeout for resources to be deleted. (#1169)

Docker images

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