def bootstrap_vespa(self) -> bool:
        """
        Add Marqo configuration to Vespa application package if an existing Marqo configuration is not detected.

        Returns:
            True if Vespa was bootstrapped, False if it was already up-to-date
        """

        # We skip the Vespa convergence check here so that Marqo instance can be bootstrapped even when Vespa is
        # not converged.
        to_version = version.get_version()
        vespa_app_for_version_check = self._get_vespa_application(check_configured=False, need_binary_file_support=True,
                                                                  check_for_application_convergence=False)
        from_version = vespa_app_for_version_check.get_marqo_config().version \
            if vespa_app_for_version_check.is_configured else None

        if from_version and semver.VersionInfo.parse(from_version) >= semver.VersionInfo.parse(to_version):
            # skip bootstrapping if already bootstrapped to this version or later
            return False

        with self._vespa_deployment_lock():
            # Initialise another session based on the latest active Vespa session. The reason we do this again while
            # holding the distributed lock is that the Vespa application might be changed by other operations when
            # we wait for the lock. This time, we error out if the Vespa application is not converged, which reduces
            # the chance of running into race conditions.
            vespa_app = self._get_vespa_application(check_configured=False, need_binary_file_support=True,
                                                    check_for_application_convergence=True)

            # Only retrieving existing index when the vespa app is not configured and the index settings schema exists
            existing_indexes = self._get_existing_indexes() if not vespa_app.is_configured and \
                                                               vespa_app.has_schema(
                                                                   self._MARQO_SETTINGS_SCHEMA_NAME) else None

            vespa_app.bootstrap(to_version, existing_indexes)

            return True

        Add Marqo configuration to Vespa application package if an existing Marqo configuration is not detected.

        Returns:
            True if Vespa was bootstrapped, False if it was already up-to-date
        
src/marqo/core/index_management/index_management.py