Summary
Only allow services with unique names to be started via the `octue start` CLI command. This ensures that, when using the command:
- A new service can't intercept/receive questions meant for an existing service of the same name
- When running a service locally that's already deployed, a modified service name is generated and used, preventing the deletion of the deployed service's topic/subscription on exit
<!--- SKIP AUTOGENERATED NOTES --->
Contents ([515](https://github.com/octue/octue-sdk-python/pull/515))
**IMPORTANT:** There is 1 breaking change.
Enhancements
- 💥 **BREAKING CHANGE:** Remove the `--rm` option and instead delete the service topic and subscription by default on exit of the `octue start` CLI command
- Add `--no-rm` flag to `octue start` to avoid topic and subscription deletion
- Allow `octue start` users to create a service with a variant of the ID in `octue.yaml` if the service already exists
- Add `allow_existing` parameter to `Service.serve` and default it to `False` (it was always `True` within the method before)
- Add `creation_triggered_locally` property to `Topic` and `Subscription` to facilitate avoiding deletion of subscriptions and topics that weren't created by the local service
Fixes
- Don't allow answer subscriptions to already exist
- Don't allow a service to be started by `octue start` if its ID is the same as an existing service's ID
- Ensure "what next" log message for starting a service is displayed at the right time
Testing
- Speed up `Topic.exists` test
- Simplify `Topic` tests
Operations
- Improve table generated by version compatibility table printing script
---
Upgrade instructions
<details>
<summary>💥 <b>Delete topic/subscription at end of octue start command by default</b></summary>
Stop providing the `--rm` / `--delete-topic-and-subscription-on-exit` option to the `octue start` CLI command. Use the `--no-rm` flag or deploy your service if you want the service topic and subscription to persist after exiting this command.
</details>
<!--- END AUTOGENERATED NOTES --->