KubeVela allows you to dry-run and live-diff your application.
Dry run will help you to understand what are the real resources which will to be expanded and deployed to the Kubernetes cluster. In other words, it will mock to run the same logic as KubeVela's controller and output the results locally.
For example, let's dry-run the following application:
In this example, the definitions(
vela-app depends on is the built-in
components and traits of KubeVela. You can also use
--definitions to specify your local definition files.
--definitions permitting user to provide capability definitions used in the application from local files.
dry-run cmd will prioritize the provided capabilities than the living ones in the cluster.
Live-diff helps you to have a preview of what would change if you're going to upgrade an application without making any changes to the living cluster. This feature is extremely useful for serious production deployment, and make the upgrade under control
It basically generates a diff between the specific revision of running instance and the local candidate application. The result shows the changes (added/modified/removed/no_change) of the application as well as its sub-resources, such as components and traits.
Assume you have just deployed the application in dry-run section. Then you can list the revisions of the Application.
Assume we're going to upgrade the application like below.
Run live-diff like this:
--revision is a flag that specifies the name of a living ApplicationRevision with which you want to compare the updated application.
--context is a flag that specifies the number of lines shown around a change. The unchanged lines
which are out of the context of a change will be omitted. It's useful if the diff result contains a lot of unchanged content
while you just want to focus on the changed ones.