Skip to content

pipeline update

Overview

Update 'quix.yaml' with the new local applications and update the variables of the existing deployments

Aliases: update, upd

Usage:

quix pipeline update [options]

Options:

  • --directory <directory>: Base directory (defaults to current directory)
  • --existing, --only-existing: Update only existing deployments
  • --new, --only-new: Add only the applications that are not currently deployed
  • -a, --all: Forces the update of all applications regardless of the current directory
  • --new-variables, --only-new-variables: Only add new variables to the deployments without updating rest of the variables
  • --keep-variables: Keep all the deployment variables even if they were removed in the '.env' file
  • --reset: Removes all deployments and topics from the 'quix.yaml' file. This operation is performed before any updates or additions to ensure a clean state

How It Works

When you run this command, it updates the quix.yaml file with new local applications and updates the variables of existing deployments. It scans your current directory and subdirectories to detect any new or updated applications. This ensures that your pipeline configuration in quix.yaml reflects the latest state of your local applications.

During the update process, the command checks for any new variables or changes in existing ones. If required variables are missing values, it generates warnings and prompts for manual intervention. This helps maintain an accurate and up-to-date pipeline configuration, preventing deployment issues due to misconfigured variables.

Info

If there are warnings and manual intervention is needed:

✗ Deployment demo-data-source can't be updated because variable 'my-new-variable' is required and it has no value
✓ 'quix.yaml' is updated
✗ Some deployments have warnings. Please, update 'quix.yaml' manually and try again

If you encounter a warning about a required variable, such as my-new-variable, it indicates that the pipeline cannot be updated because a necessary value is missing. You must manually edit the quix.yaml file to provide the missing value.

Example usage

When you execute the update local pipeline command without any options:

$ quix pipeline update

The update process starts:

Updating applications ...
✓ demo-data-source
✓ Event Detection Transformation

If everything is updated successfully:

✓ 'quix.yaml' is updated

Info

If there are no changes detected:

! 'quix.yaml' has no changes

In this case, a new variable my-new-variable has been added, and it is required without a default value. The relevant section in the quix.yaml file might look like this:

variables:
  - name: my-new-variable
    inputType: FreeText
    description: A new variable
    defaultValue:
    required: true

When the update command runs, it identifies that my-new-variable is required but has no value assigned. This triggers a warning because the pipeline cannot be updated with missing required variables.

To resolve this, you need to manually edit the quix.yaml file and provide a value for the my-new-variable:

variables:
  - name: my-new-variable
    inputType: FreeText
    description: A new variable
    defaultValue: "your-value-here"
    required: true

After updating the quix.yaml file with the required value, you can run the update command again to complete the process without warnings. This ensures that all necessary variables are correctly configured for your deployments.