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 hidden (Show)

kapp - v0.21.0

Published by cppforlife over 4 years ago

  • Fix edge case for comparing transient resources during deploy
    • v0.20.0 erroneously ignored transient resources during diff stage. Error only arises when existing transient resource is being changed to become user owned resource.

[1] Transient resources are resources created and owned by the cluster vs resources specified in configuration given to kapp. See Owner column in kapp inspect command.

09c49473b7fa31633203867f253c10d0bbd543cda5bc640ff2ebc91aec9be130  ./kapp-darwin-amd64
9dfeb831f8caf5515dff968f040f06cb9cb8942dec7df3626a44eee1e63cf460  ./kapp-linux-amd64
94c970c038e547cc03948513a62250257d2e734ef73217858ac1735401553e04  ./kapp-windows-amd64.exe

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

kapp - v0.20.0

Published by cppforlife over 4 years ago

  • Print correct number of nodes in targeted cluster description (first line in output)
  • Ignore transient resources when finding existing versioned resources
f4f259d3b0a226f8ea7ccbf7347de3e40529d698fb0bc2ef1f0dcf7aea25c72a  ./kapp-darwin-amd64
3287514b8ca14fb0378af701fce94cec09e613bff473a2ee969335edf86da5b5  ./kapp-linux-amd64
c98bc53c2b6fc4fdcf09dba62536c15bd96a425db2e10f047c92d6e06d33b747  ./kapp-windows-amd64.exe

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

kapp - v0.19.0

Published by cppforlife over 4 years ago

  • Bring back retries for local APIServices
    • apparently Kubernetes does not set Available condition immediately even for Local ones
8817b3afea01173d53d1a76c266cb1897eb94c5d3d2df496cfa54c464c064ee7  ./kapp-darwin-amd64
99a2597d29ab9cf75d636a8220cb7e5ee315ac85b7adeb48b6c1ccb56a5cf477  ./kapp-linux-amd64
7a1b49c5c261c38b7d26b131196e490f850bfb8359d6d25f441079266985d7b8  ./kapp-windows-amd64.exe

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

kapp - v0.18.0

Published by cppforlife over 4 years ago

  • Print short cluster info to make it obvious which cluster being used
  • Mask sensitive fields (by default v1/Secret data) via diffMaskRules configuration
  • Ignore failing API services that do not directly relate to app being deployed
  • Add default rebase rules for caBundle for *WebhookConfiguration/APIService resources
  • Check only Established and NamesAccepted conditions on CRDs (instead of all of them)
  • Wait for v1beta1.APIService in addition to v1
  • Add --kubeconfig-yaml/$KAPP_KUBECONFIG_YAML for easier interop with other tools
e46aa8b334832275ddf9b982c0b88633bc891a8ffff1e0204ee36cf2fb2f20fb  ./kapp-darwin-amd64
4f08b5e3639c2d126903efa81cbc1af2ff342464cc24815442c190e4b220d52f  ./kapp-linux-amd64
9140f8ef0572e2eeb207a639fc3a40ec1d4bd0faa81583cf8bc5ae4e9cb3e139  ./kapp-windows-amd64.exe

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

kapp - v0.17.0

Published by cppforlife almost 5 years ago

  • Added --diff-exit-status to control exit status for --diff-run
  • Added --filter-kind-name resource filter for convenience
  • Disable CGO and build binaries in a reproducible way
  • Wait for APIServices to become available
  • Added kapp.k14s.io/disable-default-change-group-and-rules annotation
  • Added versioning of Secrets and ConfigMaps for initContainers to the default config
  • Started requiring non-empty group name for app-group commands
  • Improved empty list of resource caution error message
49dbf96dbed4c72774e13dadd2211f77bbad91c2044fa0eae5401ccd0082887f  ./kapp-darwin-amd64
696abb7e53d047d9d606da8df5965141ab5ee1a97fc06ceeddcca9fc9531520a  ./kapp-linux-amd64
a833a23955a818413f1063003a16b890d272df6c51098afbb3099183a64bc9e4  ./kapp-windows-amd64.exe

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

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