pub async fn configure(
        &self,
        configure_context: ConfigureContext,
    ) -> Result<BTreeMap<PackageId, String>, Error> {
        if self._is_transition_restart() {
            self._transition_abort().await;
        } else if self._is_transition_backup() {
            return Err(Error::new(
                eyre!("Can't configure because service is backing up"),
                ErrorKind::InvalidRequest,
            ));
        }
        let context = self.seed.ctx.clone();
        let id = self.seed.manifest.id.clone();

        let breakages = configure(context, id, configure_context).await?;

        self.restart().await;

        Ok(breakages)
    }
awaiting this does not wait for the restart to complete
core/startos/src/manager/mod.rs