-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Versioning documentation #61
Conversation
48d54d9
to
3a25890
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for creating the documentation for upgrading services @slinkydeveloper. The changes look good to me. Maybe @gvdongen also wants to give it a quick pass before merging it.
After deploying a service endpoint, in order to use it, it must be registered to Restate as follows: | ||
|
||
```bash | ||
$ curl <RESTATE_META_ENDPOINT>/endpoints --json '{"uri": "<SERVICE_ENDPOINT_URI>"}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is --json
supported by all curl
version that we want to support?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't know, see #31. The deployments page was using the --json
parameter, so I did the same here. I can replace with the old command template, but TBH I think this is better to read.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a solution is specifying that you need a curl version more recent than 7.82.0?
So people for who this fails, understand that they need to upgrade curl?
But I also think that there should be a single unified command across the docs for discovery.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a suggestion to specify the curl (>v7.82.0) requirement
* You can't change the instance type of a service. | ||
* You can't modify the key fields in Keyed services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe link to the definition of instance types and keyed services.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that there isn't a page dedicated to that, nor in general to our service contracts, see #60
Co-authored-by: Till Rohrmann <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Easy to read and clear 👍
A few small comments but looks good to me.
|
||
As described in the [deployment documentation](./deployment.md#deploying-services), *service endpoints* are immutable, and are assumed to be reacheable throughout the entire lifecycle of an invocation. In order to deploy any change to a service, either in the protobuf definition and/or in the business logic, a new service endpoint should be deployed and registered. | ||
|
||
When registering a new service endpoint, Restate will detect if it contains already registered services, and will treat them as new revisions. Any new invocations to that service will be executed by the newly registered service endpoint, thus guaranteeing that new invocations are always routed to the latest service revision, while *old* invocations will continue to use the previous service endpoint. It must be guaranteed that the old service endpoint lives until all the existing invocations complete. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Restate will detect if it contains already registered services
-> Based on what does it detect that it is a new revision?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Service name.
Co-authored-by: Giselle van Dongen <[email protected]>
This PR contains a first pass at the versioning documentation. Fix #55