Search API | On‑Premise | Urbi Documentation

Updating search API services

  1. Fetch new installation artifacts.

    1. In the DGCLI configuration file, specify:

      • New version of the api-platform component (see API Platform releases).
      • Version of core component required to install the new API-Platform version (see the Dependencies subsection in the API Platform releases description).
    2. Run the fetch command. Additionally you can specify the following flags:

      • To update only the service image, add the --only-apps flag after the pull command.
      • To update only data, add the --only-data flag after the pull command.
      • To update both service and data, run the command without the above flags.

      For more settings, see DGCLI command-line arguments.

  2. Copy the path to a new manifest file from the command output and set it as a value to the dgctlStorage.manifest parameter in the values-search.yaml configuration file. For more information, see the installation guide.

    Important

    If during a regular update of the search services you do not want to import new data, use the same manifest as in the previous import. In other cases, using a new manifest is recommended.

  3. Check out breaking changes. If necessary, update other settings in the values-search.yaml configuration file.

  4. Run the command to update the service:

    helm upgrade --version=VERSION --atomic --values ./values-search.yaml search-api 2gis-on-premise/search-api
    

    In the --version parameter, set the api-platform component version:

    • To update only the service or both service and data, use the new version that you specified in the DGCLI configuration file.
    • To update only data, set the currently installed version.
  5. Test if the update succeeded.

  1. Fetch new installation artifacts.

    1. In the DGCLI configuration file, specify:

      • New version of the api-platform component (see API Platform releases).
      • Version of core component required to install the new API-Platform version (see the Dependencies subsection in the API Platform releases description).
    2. Run the fetch command. Additionally you can specify the following flags:

      • To update only the service image, add the --only-apps flag after the pull command.
      • To update only data, add the --only-data flag after the pull command.
      • To update both service and data, run the command without the above flags.

      For more settings, see DGCLI command-line arguments.

  2. Copy the path to a new manifest file from the command output and set it as a value to the dgctlStorage.manifest parameter in the values-catalog.yaml configuration file. For more information, see the installation guide.

    Important

    You can configure the process of importing new data for Catalog APIs. Use the importer settings group of the configuration file. If during a regular update of the Catalog APIs service you do not want to import new data, use the same manifest as in the previous import. In other cases, using a new manifest is recommended.

  3. Check out breaking changes. If necessary, update other settings in the values-catalog.yaml configuration file.

  4. Run the command to update the service:

    helm upgrade --version=VERSION --atomic --values ./values-catalog.yaml catalog-api 2gis-on-premise/catalog-api
    

    In the --version parameter, set the api-platform component version:

    • To update only the service or both service and data, use the new version that you specified in the DGCLI configuration file.
    • To update only data, set the currently installed version.
  5. Test if the update succeeded.

If automatic creation of new schemas while importing objects data is enabled (see importer settings of the configuration file), the previous data set is not used after switching to a new set. To save disk space, old data sets should be removed. You can do it automatically as follows:

  1. Set the importer.cleaner.enabled parameter to true.

  2. For the importer.cleaner.versionLimit parameter, specify the number of old data sets to keep. For example, 1 indicates that not more than 3 schemas (the current, the previous, and the temporary one created during the import) are saved in the base and all the older ones are removed. Note that this limit cannot be less than 1 - otherwise, it will be impossible to return to the previous version when needed.