Releases: carvel-dev/kapp
Releases · carvel-dev/kapp
v0.16.0
- Be more strict when capturing changes against last applied resource
- This change may require you to add additional rebase rules, as kapp now makes sure that even immediate change after resource update/create is flagged. Only changes made by webhooks are now tolerated.
- Examples that will need rebase rules to signify that cluster is the source of truth:
- if HPA is modifying your Deployment's spec.replicas key
- if RBAC aggregator is aggregating rules and updating ClusterRole's rules key
- Examples that will need rebase rules to signify that cluster is the source of truth:
- This change may require you to add additional rebase rules, as kapp now makes sure that even immediate change after resource update/create is flagged. Only changes made by webhooks are now tolerated.
- Support custom name key for versioned resources
- Useful for volumes backed by secrets -- configured via
secretName
instead of standardname
- Useful for volumes backed by secrets -- configured via
- Fix kapp group commands error message
6c89df67562301aff4bf76c700ccbd04a60bccd34adac332e67c518791b2333c ./kapp-darwin-amd64
d9d03c83a5d0b6463e1b249e14c38aceb121e46094af6040c4596fe932caf181 ./kapp-linux-amd64
987484cc08de527186f93f4959e4da8d6b5284c1d46c0687634459f0560e5b19 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.15.0
- Retry applying same update on top of new resource if diff hasnt changed
- If resulting diff has not changed, it's guranteed that we are still applying "same" change
- Use JSON instead of YAML for last applied configuration to fit better in max annotation val size
- It was reported (#48) that some CRDs are very large, hence violate above max val size when serialized as YAML
- Add
--dangerous-ignore-failing-api-services
flag as a failsafe hatch for deploy/delete/inspect operations- This may be helpful when some cluster APIs are misconfigured
- Prevent users from accidently overwriting kapp state records with kapp
- More on state kept by kapp: https://github.com/k14s/kapp/blob/master/docs/state-namespace.md
- Garbage collect older app changes at the end of
kapp deploy
- setting can be controller via
--app-changes-max-to-keep
flag
- setting can be controller via
- Add
apps.kappctrl.k14s.io/v1alpha1
waiter to integrated with https://github.com/k14s/kapp-controller
Misc
- Fix deploy cmd help to correctly show
-a label:name=key
usage - Shrink last change column headers in
kapp ls
command - Improved error message when app record (backed by
ConfigMap
) cannot be parsed - Use
(cluster)
instead of<cluster>
in UI
Docs
- Add docs for dangerous flags
- Add dev notes with design principles
- Add hint in FAQ about anonymous fifo usage to allow stdin to be used for confirmation
- Mention that update strategy may be dangerous to some types of resources
8d3744e9b01c0c2ec4526f5c86ed838854b56806c656b83fc0eff78229ac68f2 ./kapp-darwin-amd64
70bee927591f848f79bdf0888034cb55ed4f6b0e8389aea1f23264effc59160b ./kapp-linux-amd64
995cb5c9021fa64ba905bcdb09ebbbaa470b78283cfbd7091c99859b5c5a1e34 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.14.0
- Show
(cluster)
in namespace column when resource is cluster wide (previously was-
) - Use
^
as duplicate content marker in table rows (previously was~
) - Added
--debug
flag to show debug logs (shuold be useful to understand where time is spent) - Show originating file for resource when resource fails validation
- Support ignoring certain fields when diffing against last applied copy (may be useful in situations when cluster controllers modify resource at a later time)
7d41af44fc3290c8b783b75672d2dc55dfab751252db0717a26fceb2585daa2d ./kapp-darwin-amd64
48aff53131654d8ad9adf26febee6104ecc55d89776624e8e57c6dbb33a7edd9 ./kapp-linux-amd64
8a2880e04efa84bc4bf1b23f3cb78839f039533c4973049f663494e28735e136 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.13.0
- Group commands in help output (seen via
kapp -h
) - Group deploy flags in help output (seen via
kapp deploy -h
) - Support CRDs that define multiple versions (related issue: #37)
- kapp checks if resources need to be namespaced based on associated CRDs; if CRD is not installed yet, kapp will fetch that information from given files and hence needed to interpret
versions
field (previously it only looked atversion
field)
- kapp checks if resources need to be namespaced based on associated CRDs; if CRD is not installed yet, kapp will fetch that information from given files and hence needed to interpret
92edcf9de16ce17b95bcb85b83ed36cc11290efc02252d1029da7ce949aef730 ./kapp-darwin-amd64
47c59a7a9927e33fab87b1db0ab57fd316de8c2a42c491e215daa7ea6454d4c1 ./kapp-linux-amd64
b0b6021c323706605baf012aeb394bd5473dfce67a2ce576058d7f064c84ac13 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.12.0
- Add
kapp.k14s.io/owned-for-deletion
annotation (doc) - Add
--filter-*
flags to delete command` - Add
kapp app-change gc
command (doc)- Run it manually to remove old app change records
- Support
+-
prefix in--filter-age
flag to support filtering older or younger resources - Add
--status
flag to inspect command - Switch conditions field (
Conds.
) to uset
(true) insteadok
- Show reconcile info in diff summary
- Throttle apply changes to avoid k8s grpc errors
- default concurrency is set to 4 and can be changed via
--apply-concurrency
flag
- default concurrency is set to 4 and can be changed via
2e9aec868607019d46fe2b8b1a9962d5fd347f7876fbe988df98c11a32d7efa7 ./kapp-darwin-amd64
75eb211d596ffe01852f04c8c0bb3a2792e53a737e036fe0409132e0e2917076 ./kapp-linux-amd64
da6f531f352dcd695185f48a84ef1109184fabd7fa4e0971a35b8cbecce17c9e ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.11.0
- Suppress repetitive waiting output (#14)
- Prints at least one repeating copy within 1 min
- Check for
FailedDelete
condition forDeployments
- Fallback on state namespace for finding resources if cluster level listing of namespaces is forbidden (doc)
- Added cheatsheet doc page
- Added
rename
command to rename apps (implemented by recreating ConfigMap record)
b333e3c1ef879dba47fee3b81469546da8d4e7fd594f8c065f1ef9930a5a4096 ./kapp-darwin-amd64
1d461864afeef5b78ac9eaed7be5acdd699be82f907e7c7efecbbe00b041fbb5 ./kapp-linux-amd64
c00c6441dbeb6e12ecd9d5901bcb23704027c40920011dacba5d8d02ee0186e5 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.10.0
Resource Ordering
- [breaking] Remove --diff-changes-full/diff-summary-flags flags from kapp deploy
- Introduced a way to order changes (docs)
- Example: run a Job and wait for it to succeed before continuing with an update to a Deployment
- See resource ordering example
- Show reconcile state and reconcile info in
kapp inspect
- Refactored changes view to better show operations to be taken during a deploy
Resource Waiting
- [breaking] Drop apply prefix from --apply-wait-* flags
- Consider deployment waiting as failed when Progressing condition turns False
- Added
kapp.k14s.io/apps-v1-deployment-wait-minimum-replicas-available
annotation to control when Deployment is successful (requested via #26) - Added resource waiting docs
- Added
kapp.k14s.io/disable-wait
annotation to disable waiting for a resource - Fix
kapp app-group deploy
command to pick up correct wait timeout
Other
- Added
kapp.k14s.io/nonce
annotation to force resource recreation (see Job in resource ordering example) - Add a way to stream logs during a deploy via
kapp.k14s.io/deploy-logs
annotation- Also added --logs and --logs-all flags for deploy command to show logs inline
- Added FAQ doc page
- Ensure that all resources have apiVersion, kind and metadata.name early on for better error messages
- Support fetching resources from each namespace if kapp is not running with cluster level privileges
- Do not prompt to continue if there are no changes to deploy
- Default tty output to true (--tty=false to turn it off)
eb9e26fd1919bdd09a4843b95ca73f381d5f333478bb73a3ea1c8060eca46564 ./kapp-darwin-amd64
8d3aea0b36e4f42fd1c35384a41033bb52cffea3b486f2e4453c705775ba3a2f ./kapp-linux-amd64
cc74de5fbefa093ef961bb51f381602012e6c897ea6290cbff10a1dbd208cc38 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.9.0
- Add
--all-namespaces
flag tokapp ls
- Improve waiting for
batch/v1/Job
andbatch/v1beta1/CronJob
(try out example inexamples/jobs
)
942f78ff3ae792807b16ffc0279cb70cf399782d30f632342ea8345f04f3280c ./kapp-darwin-amd64
1f54e6146af55112332898108d7870375fc2a38a540bfbc420c70ecbbb0d8461 ./kapp-linux-amd64
65beb67f2a073453e20f49706caec3d7fc49323bdc6d310f7434c3ba5310c11c ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.8.0
- Added
--dangerous-override-ownership-of-existing-resources
flag to deploy command to make it more convenient to override existing resources that are associated with a different app (app meta was possibly lost)- Related issue: #20
bbba2e1a29d9f229db9cdfc86e4cac329767e7e25581ecc3e09b16fd62746009 ./kapp-darwin-amd64
010060339f5be1a1bfca97fa0c69179b8471908affa04bf32a5bab241a2f8d78 ./kapp-linux-amd64
dff5dd9d2c476a50eacce8d39df9c4689b642a2398e0367fb883db2a15597e21 ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)
v0.7.0
- Allow to opt out of label scoping for individual resources via
kapp.k14s.io/disable-label-scoping: ""
- Only show Pod state details while waiting if details aren't empty
- Improved waiting for apps/v1/Deployment
- Improved waiting for apps/v1/DaemonSet
- Show more details about Pods in waiting state
- Show parent resource state during waiting (previously only states of associated resources were shown)
97d3d167185a999a07babb9a689d8a0eec98b5a077cb3a4085e2916e95fbb822 ./kapp-darwin-amd64
55d247fab5bab8b94b7f00b644a1eebb023d9ed448246c84a8c27a05b35475e8 ./kapp-linux-amd64
2df03eca0d883a2f57b926a6ed00064b450503407dc3fd9391a2488014fe975f ./kapp-windows-amd64.exe
(Installation instructions: https://k14s.io/#install-from-github-release)