kudo

Kubernetes Universal Declarative Operator (KUDO)

APACHE-2.0 License

Stars
1.2K
Committers
61

Bot releases are hidden (Show)

kudo - kudo-v0.13.0

Published by kensipe over 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
kudo - kudo-v0.13.0-rc1

Published by kensipe over 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
kudo - kudo-v0.12.0

Published by kensipe over 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
kudo - kudo-v0.12.0-rc1

Published by kensipe over 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
kudo - kudo-v0.11.1

Published by kensipe over 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
kudo - kudo-v0.11.0

Published by kensipe over 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
kudo - kudo-v0.11.0-rc1

Published by kensipe over 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
kudo - kudo-v0.10.1

Published by kensipe over 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
kudo - kudo-v0.10.0

Published by kensipe almost 5 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
kudo - kudo-v0.9.0

Published by alenkacz almost 5 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
kudo - kudo-v0.9.0-rc2

Published by alenkacz almost 5 years ago

Changelog

1fd401a0 Do not mount cert volume when webhook disabled (#1176)
bbbdd4ae Refactor init code into setup package (#1161)
bae827ab Revert logging changes and fix a bug (#1178)

kudo - kudo-v0.9.0-rc1

Published by alenkacz almost 5 years ago

Changelog

ae42d27c Add 'nfnt' to CODEOWNERS (#1109)
d4ada85c Add verifier.Result to encapsulate verification errors and warnings handling (#1159)
90f5f925 Add build instructions workaround for an upstream issue. (#1069)
d049eedd Add message with error to the plan status to ease debugging (#1050)
62810dc6 Add reconcile resync period to cmd arg to avoid stale resource caching (#1148)
06c92b76 Autogenerated KEP Overview (#1110)
fc1ef458 Better output when incorrect args in uninstall (#1057)
22139045 Bump controller-runtime to 0.4.0 (#1074)
dcb97e7b Change KUDO to using DCO instead of CLA (#1164)
c885f00c Change delete propagation to background (#1072)
048cebb7 Disallow only spec updates for now (#1146)
5e38fb3a Do not use custom dynamicrestmapper (#1138)
b40e01eb Enable additional linters (#1157)
3dd284fb Enable status subresource for instance CRD (#1044)
a691658d Extend contributing.md with more examples (#1134)
cdae0267 Fix a few typos (#1090)
a68eb292 Fix broken link. (#1068)
73f96993 Fix cleanup docs (#1139)
31c57b82 Fix kubectl-kudo flag conflict #1120 (#1121)
204904ad Fix markup and a link. (#1048)
0f2dbd3a Fix package parser on windows (#1141)
3674c379 Fixed yaml output for kudo init with custom SA (#1166)
45d6cf55 Install GolangCI-Lint as a binary (#1145)
d80753e6 Introduce our code culture in contributing.md (#1096)
da277547 Introduce validating admission webhook (experimental) (#1133)
1e400381 Introduced a resolver_repo.go (#1075)
ead3d4c8 KEP-17: Pipe task implementation (#1105)
6205017f KEP-20: Manual plan execution (#1045)
7685bcdd Log package origins (#1104)
05664277 Make it possible to specify custom service account
9eaf5e08 Make package builds reproducible (#1067)
ef23d5af Operator Parameter and Template Verification (#1106)
2b075cfd Optimize fetching and document the kubebuilder dep (#1092)
4113adbe Properly handle go mod init failures. (#1052)
bd59d032 Refactored packages (#1047)
be5c3d86 Refactoring of plan_status and first unit tests (#1091)
1edf03df Remove a problematic test and add a basic Dispatchfile (#1118)
ba8df462 Remove logr and use log for now in manager.main (#1150)
d1a6052e Remove owners file (#1111)
0108c4b7 Rename some variables. (#1158)
51f759d0 Rename store methods to create methods in pipes (#1156)
3ccc31dd Revert "Fix broken link. (#1068)" (#1093)
2d4c9ac1 Run a cleanup plan when deleting instances (#1108)
d80270d5 SA init test moved into table tests (#1144)
f8730940 Stop calling go mod init in code-generator. (#1127)
49002e99 Stop creating old test images. (#1102)
56357fc2 Update release.md to better reflect our release process (#1112)
3778b5cb Use 'goimports' provided by 'golangci-lint' (#1162)
1e9e07db Validate KUDO CRDs before running commands (#1113)
3e1ef104 Wait for CRD to be established. (#1053)
912bfd4f better error handling when working with kube and kudo. (#1097)
519f9654 connecting package verification to package creation (#1089)
a324d134 removal of github.com/pkg/errors and commitment to go 1.13 errors (#1107)
35564194 s/Operator/OperatorVersion/g in the description (#1155)
8f439324 standardizing imports and adding makefile task to help (#1135)

kudo - kudo-v0.8.0

Published by kensipe almost 5 years ago

Changelog

2a585aed Improve the check for KUDO CRDs when creating a client (#1037)
ca3a60e5 Prow CRD now has no schema in tests (#1039)
053e5f8a Remove obsolete files (#1035)
433e8203 Small improvements on package command (#1038)
ca059701 Update API server for tests (#1034)

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.8.0
kudo - kudo-v0.8.0-pre.3

Published by gerred almost 5 years ago

Changelog

cc225781 Add 'golangci-lint' to tools (#1024)
62c4475b Fix resource reloading and remove reloader (#1031)
fc206fbf Just a very minor pipe KEP update (#1023)
9fd189ae Make Appversion in operator.yaml templatable. (#1026)
086d170d Removed obsolete operator version fields (#1027)
7bde8f6b Switch e2e to test against operators master (#1032)
e94e8011 adding params list (#1029)

kudo - kudo-v0.8.0-pre.2

Published by gerred almost 5 years ago

Changelog

a071e91c APIversion added to the params file (#1022)
e73cb5b0 Add API version for operator.yaml (#1016)
830d875a Deploy clean should remove everything, not just CRD (#1010)
95877c14 Enabled golinter errcheck option (#1014)
f7b09025 Move APIversion to v1beta1 (#1019)
061b1eb0 New schema for params operator file (#1020)
97166e96 Print out names of remaining steps and tasks (#1015)

kudo - kudo-v0.8.0-pre.1

Published by gerred almost 5 years ago

Changelog

cca70dc8 Log out retry-able errors (#1013)
b9d4c991 Remove circleci release job (#1009)

kudo - kudo-v0.8.0-pre.0

Published by gerred almost 5 years ago

Known Issues

  • manager and kubectl-kudo do not compile on Windows because of a Go x/crypto and sys/window incompatibility. This is being investigated.
  • There is no live dev repo. Instead, use the dev branch of the Operators repo.

Changelog

53db47e6 Add a task for blog post to RELEASE.md (#875)
81f3fdd4 Add in reloader container to manager pod with options to disable. (#996)
5cb7a30e Add shorthand -n for --namespace (#882)
8e198f52 Attempt to fix 'TestCheckResourceIntegration' flaky test (#914)
83dc45ed Better engine package structure (#992)
dec64d43 Better logging for init (#934)
6b076632 CRD Schema Fixes for CRD v1 (#895)
9c42a1d7 Cleaned up old and unused types in the operatorversion_types.go (#907)
44907d80 Cleanup lastexecutedplan method to remove the flake (#949)
f10e9d28 Delete kubebuilder markers (#884)
1c7fb048 Do not autogenerate names of resources (#1003)
984f581d Do not reimplement health checking, use what kubectl uses (#1000)
b8c06ff4 Do not use strategicmergepatch for CRDs (#936)
df22c2cf Fix make generate on clean repository (#983)
6827102b Fix deep copy and don't modify original state (#919)
9799a7c9 Fix docs for instance name in install (#943)
f6e182f3 Fix e2e-tests (#981)
3481feb3 Fix flaky GetLastExecutedPlanStatus (#959)
c08cd65e Fix incorrect case of 'sprig' import (#1004)
1ce42248 Fix namespace handling for plan command (#925)
99bfb3e6 Fix plan history bug (#961)
5c323d06 Fix typos (#990)
7adc57db Fixes the release workflow for Docker images
0e228401 Handle already exists in flaky test (#941)
5459b7d3 Handle unknown types as unstructured (#954)
afb2c2dd Include CRDs in the -o yaml --dry-run (#923)
2c15fe37 Introduce integration test for restart (#718)
d4bf8ab0 Introduce the 'kudo uninstall' command (#856)
88276673 Introducing a new Task specification (#859)
18d65500 Little bit of polishing in the execution engine (#892)
76c44fed Maintainers is array, not object (#930)
3ce18a57 Make Instance name deterministic (#960)
43faa629 Make it possible to opt out of junit (#950)
c5279836 Make it possible to run krew even from macos (#974)
6cde6ed5 Make sure config/crds are always up to date for testing (#977)
7903cbd3 More consistent logging for install (#933)
e6ca3944 Move enhancer to renderer package (#993)
7f34d341 Plan status should show last executed plan, not just active plan (#931)
a791ad3a Prevent goreleaser from uploading pre-release homebrew builds (#1007)
b7f16ff4 Refactor functions to install/upgrade package resources into 'kudo' package (#991)
7b586e44 Remove error-wrapping from log messages (#980)
3d39dfbf Remove kustomize from Makefile - we don't use it anymore (#1001)
e68f7f83 Remove printf with repo during install (#986)
106c0a33 Remove remaining mentions/usages of PlanExecution in code (#885)
88796d34 Remove usage of deprecated packages (#987)
d587d436 Removed the references of Prow in CICD. (#890)
5f0439d7 Run operators tests (#806)
509a40b7 Setup golangci-lint as default linter framework (#994)
974c6fa2 Simplify array construction (#985)
f86d0d09 Small cleanup of init (#978)
c3411950 Small improvements to the kudo init command and docs (#880)
ca57d041 Unified error handling in the engine pkg (#998)
bd3e832d Update 'controller-tools' (#1006)
92389cd9 Update Kubernetes deps to 1.16 (#995)
1e22f5af Updated KEPs to the new tasker API (#979)
432f21ac Use built in isExists (#942)
dbbb2075 User-configurable request timeouts (#970)
f5d15198 make lint doesn't install golinter if found one locally (#999)
6a08cc01 add apiextensionsv1beta1 to scheme (#904)
a6e1755f add namespace flag for kudo init (#903)
9d348189 drop windows and darwin manager binaries because of x/crypto
bcae5593 drop windows kubectl-kudo binaries because of x/crypto and x/sys/windows issues
9390a798 fix go.mod
4319ebb0 fixing repo merge by name bug (#938)
4a603bc2 go mod changes makes repo dirty. this resolves that (#926)
07692b7d init wait-timeout invalid without wait (#897)
1600119f init: handle only "kudo-system" namespace (#984)
eeb3cb09 remove workflows for now (#909)
85d4506f silence usage when kudoctl run commands fail (#900)
39711705 update to init namespace changes (#956)

kudo - kudo-v0.7.5

Published by alenkacz about 5 years ago

Changelog

c9f0c0b5 Backport of fixes to TestGetLastExecutedPlanStatus (#969)
45fe3dad Backport of plan history fix on unknown instance (#967)
b35d39b4 Handle unknown types as unstructured (#954) (#968)
6b85b620 Plan status should show last executed plan, not just active plan (#944)

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.7.5
kudo - kudo-v0.7.4

Published by gerred about 5 years ago

If you're updating from 0.6.X version or any other prior version of KUDO to this release, please start with
kudo init --dry-run -o yaml | k delete -f - to clean up your cluster. Beware that this will remove KUDO as well as all installed operators.

Changelog

81b14cb3 Do not use strategicmergepatch for CRDs (#936) (#937)
7ae2a6ac Include CRDs in the -o yaml --dry-run (#932)

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.7.4
kudo - kudo-v0.7.3

Published by alenkacz about 5 years ago

Changelog

d81e57e7 add apiextensionsv1beta1 to scheme (#904) (#905)

Docker images

  • docker pull kudobuilder/controller:latest
  • docker pull kudobuilder/controller:v0.7.3
Package Rankings
Top 1.59% on Proxy.golang.org
Badges
Extracted from project README
CircleCI