kapp

kapp is a simple deployment tool focused on the concept of "Kubernetes application" — a set of resources with the same label

APACHE-2.0 License

Stars
859
Committers
74

Bot releases are visible (Hide)

kapp - v0.16.0

Published by cppforlife almost 5 years ago

  • 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
  • Support custom name key for versioned resources
    • Useful for volumes backed by secrets -- configured via secretName instead of standard name
  • 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)

kapp - v0.15.0

Published by cppforlife almost 5 years ago

  • 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
  • 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
  • Garbage collect older app changes at the end of kapp deploy
    • setting can be controller via --app-changes-max-to-keep flag
  • 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

8d3744e9b01c0c2ec4526f5c86ed838854b56806c656b83fc0eff78229ac68f2  ./kapp-darwin-amd64
70bee927591f848f79bdf0888034cb55ed4f6b0e8389aea1f23264effc59160b  ./kapp-linux-amd64
995cb5c9021fa64ba905bcdb09ebbbaa470b78283cfbd7091c99859b5c5a1e34  ./kapp-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

kapp - v0.14.0

Published by cppforlife about 5 years ago

  • 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)

kapp - v0.13.0

Published by cppforlife about 5 years ago

  • 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: https://github.com/k14s/kapp/issues/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 at version field)
92edcf9de16ce17b95bcb85b83ed36cc11290efc02252d1029da7ce949aef730  ./kapp-darwin-amd64
47c59a7a9927e33fab87b1db0ab57fd316de8c2a42c491e215daa7ea6454d4c1  ./kapp-linux-amd64
b0b6021c323706605baf012aeb394bd5473dfce67a2ce576058d7f064c84ac13  ./kapp-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

kapp - v0.12.0

Published by cppforlife about 5 years ago

  • 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 use t (true) instead ok
  • 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
2e9aec868607019d46fe2b8b1a9962d5fd347f7876fbe988df98c11a32d7efa7  ./kapp-darwin-amd64
75eb211d596ffe01852f04c8c0bb3a2792e53a737e036fe0409132e0e2917076  ./kapp-linux-amd64
da6f531f352dcd695185f48a84ef1109184fabd7fa4e0971a35b8cbecce17c9e  ./kapp-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

kapp - v0.11.0

Published by cppforlife about 5 years ago

  • Suppress repetitive waiting output (https://github.com/k14s/kapp/issues/14)
    • Prints at least one repeating copy within 1 min
  • Check for FailedDelete condition for Deployments
  • 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)

kapp - v0.10.0

Published by cppforlife about 5 years ago

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 https://github.com/k14s/kapp/issues/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)

kapp - v0.9.0

Published by cppforlife over 5 years ago

  • Add --all-namespaces flag to kapp ls
  • Improve waiting for batch/v1/Job and batch/v1beta1/CronJob (try out example in examples/jobs)
942f78ff3ae792807b16ffc0279cb70cf399782d30f632342ea8345f04f3280c  ./kapp-darwin-amd64
1f54e6146af55112332898108d7870375fc2a38a540bfbc420c70ecbbb0d8461  ./kapp-linux-amd64
65beb67f2a073453e20f49706caec3d7fc49323bdc6d310f7434c3ba5310c11c  ./kapp-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

kapp - v0.8.0

Published by cppforlife over 5 years ago

  • 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)
bbba2e1a29d9f229db9cdfc86e4cac329767e7e25581ecc3e09b16fd62746009  ./kapp-darwin-amd64
010060339f5be1a1bfca97fa0c69179b8471908affa04bf32a5bab241a2f8d78  ./kapp-linux-amd64
dff5dd9d2c476a50eacce8d39df9c4689b642a2398e0367fb883db2a15597e21  ./kapp-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

kapp - v0.7.0

Published by cppforlife over 5 years ago

  • 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)

kapp - v0.6.0

Published by cppforlife over 5 years ago

  • Add additionalLabels field to Config to allow specifying custom labels on all resources
  • Show Managed by column in inspect --tree view
  • [breaking] Remove tools list-images command in favor of new kbld inspect command
  • [breaking] Require specifying type field on each rebaseRule in Config
  • Improve rebasing of metadata.labels and metadata.annotations
7ffb77dac2a6c1b7514eca1e0b92700cffdc5f84ac57e17585c4809a0e1795bc  ./kapp-darwin-amd64
db4c5730761461e8b4ff8d607d2eb51bf7ef04e7fcbd2eeb15a8655eb4736cd2  ./kapp-linux-amd64
d019c3f6de98ede06dd42544e02eaeedbf4fcfd8625ec69ada96d669154883d6  ./kapp-windows-amd64.exe
kapp - v0.5.0

Published by cppforlife over 5 years ago

  • Deprecate -R flag and allow use of directories by default
  • Add -c flag as a shorthand to --diff-changes flag
  • Retry fetching resource types from the API server
e160388b502bfb0694b93c276fe6fca4bcf312996f9ae001574097c8af89c753  ./kapp-darwin-amd64
2d0f057ab0518f5eaf981f4bae9a13085533475b5821f74b0b17b8aea12f6d04  ./kapp-linux-amd64
953620bf68df03b10ac28888b903da57d23adeb262152fcba23f68f1710302b9  ./kapp-windows-amd64.exe
kapp - v0.4.0

Published by cppforlife over 5 years ago

  • Refuse to apply empty set of resources to avoid accidental deletion
    • This is most commonly seen when output of another command is empty and it's being piped into kapp (without -o pipefail)
    • Example: ytt tpl -R -f ... | kapp deploy -a app -f -
    • Check could be disabled via --allow-empty flag
7a61cf9523281d94711c752ebd8d890068602f3fe6baf344895fbc59b9d5664e  ./kapp-darwin-amd64
c6b603ac7dce5ba7f0679df7b69f39a35c8278f479534c2ea5cda8a83acfc0a1  ./kapp-linux-amd64
220c2a9d8d2219a6138e0edd2e4bd871668cfb0b903045bc9461dbdd26803824  ./kapp-windows-amd64.exe
kapp - v0.3.0

Published by cppforlife over 5 years ago

80a01662fa54d654f3f3c45db9538cd0d5aff318b4f4d7da4e949849dc66602e  ./kapp-darwin-amd64
c904f7324c51d650826600acc4316a7e03736ccdc532eecdc46ea390f44014cd  ./kapp-linux-amd64
bd82ad87c6fbfac1dc2973fd8181dfd47ee4a91d5d222eb688a5ef9fb9442087  ./kapp-windows-amd64.exe
kapp - v0.2.0

Published by cppforlife over 5 years ago

fed3b2bfafe7fce282e72220b8ef9cf6a26a8a321747a43d5360a3478cc59f1a  ./kapp-darwin-amd64
33d91f0326592722ccff097b059e56a76fba69171510522803aa829b0a4947c0  ./kapp-linux-amd64
d09e0ad174debc29ba423f5488816a7016b431b05e8d041a7590cc08c2cb46c3  ./kapp-windows-amd64.exe
kapp - v0.1.0 - Initial release

Published by cppforlife over 5 years ago

  • Includes basic app diff and deploy capabilities
  • Includes basic resource versioning
519bf6e3240711705bd4dfa6fa50467edb34fcc18fae2ce32736e4c6caa3560f  ./kapp-darwin-amd64
95c84b7d2c40830fa72dc7ff0e6f6fc31e9c7c5ab7c2bfcae22866d2967d0c8f  ./kapp-linux-amd64
5f7564d4b3b14f70cabc66534d796b994e57c9e1735a08dfc4aea35b5366c42c  ./kapp-windows-amd64.exe