Skip to content
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

Support experimental APIs #181995

Closed
jloleysens opened this issue Apr 29, 2024 · 6 comments · Fixed by #196647
Closed

Support experimental APIs #181995

jloleysens opened this issue Apr 29, 2024 · 6 comments · Fixed by #196647
Assignees
Labels
Feature:OAS Work or issues related to Core-provided mechanisms for generating OAS Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@jloleysens
Copy link
Contributor

jloleysens commented Apr 29, 2024

Pending design and agreement on how this will be represented in OAS CC @lcawl

@jloleysens jloleysens changed the title Support experimental APIs (pending design and agreement on how this will be represented in OAS) Support experimental APIs Apr 29, 2024
@botelastic botelastic bot added the needs-team Issues missing a team label label Apr 29, 2024
@jloleysens jloleysens added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc and removed needs-team Issues missing a team label labels Apr 29, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

@jloleysens jloleysens added the Feature:OAS Work or issues related to Core-provided mechanisms for generating OAS label May 6, 2024
@lcawl
Copy link
Contributor

lcawl commented Jun 11, 2024

FYI Bump.sh already supports x-beta per https://docs.bump.sh/help/specification-support/doc-beta/ and we've requested an extension like x-tech-preview. I'll update as soon as the latter is available.

@lcawl
Copy link
Contributor

lcawl commented Aug 22, 2024

FYI This information was added to the Elasticsearch OpenAPI documents per elastic/elasticsearch-specification#2716

@lukeelmers
Copy link
Member

related #179170

@lcawl
Copy link
Contributor

lcawl commented Aug 22, 2024

Based on the way the Elasticsearch specification has implemented @availability, it seems like the lifecycle states might vary for serverless and stateful variations of API. For example in IndicesGetDataLifecycleRequest.ts:

/**
* Get data stream lifecycles.
* Retrieves the data stream lifecycle configuration of one or more data streams.
* @rest_spec_name indices.get_data_lifecycle
* @availability stack since=8.11.0 stability=stable
* @availability serverless stability=stable visibility=public
*/

I do not see any examples yet where it's "experimental" in one and "stable" in the other, but if that's possible it affects how we might want to handle this in the API doc automation. Especially if we one day manage to have both serverless and stateful details in a single document. IMO if it's possible to make this work from the code, we should consider outputing it in the docs in a specification extension like this:

       "x-availability": {
         "stack": {
           "stability": "beta",
           "since": "7.7.0"
         },
         "serverless": {
           "stability": "experimental",
           "since": "2023-10-31"
         } 
       }

Alternatively, if it makes branching or implementation easier, split into two extensions:

    "x-availability-stack": {
           "stability": "beta",
           "since": "7.7.0"
         },
    "x-availability-serverless": {
           "stability": "experimental",
           "since": "2023-10-31"
        } 

I think we'd need to have this at the endpoint level at a minimum (preferrably operation level). Theoretically it would be nice to have even down to the parameter and property level (e.g. in https://github.com/elastic/elasticsearch-specification/blob/a00834bb0f50a10c39858a4b971c84cbe4b6aa8b/specification/_global/field_caps/types.ts#L56 ) since such components could have different availabilities. More info in elastic/elasticsearch-specification#2804

@jloleysens
Copy link
Contributor Author

@jloleysens jloleysens self-assigned this Oct 16, 2024
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Oct 21, 2024
## Summary

Close elastic#181995

Related elastic#195325

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Christiane (Tina) Heiligers <[email protected]>
(cherry picked from commit 608cc70)
jloleysens added a commit to jloleysens/kibana that referenced this issue Oct 23, 2024
## Summary

Close elastic#181995

Related elastic#195325

### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Christiane (Tina) Heiligers <[email protected]>
(cherry picked from commit 608cc70)
jloleysens added a commit that referenced this issue Oct 23, 2024
# Backport

This will backport the following commits from `main` to `8.x`:
- [[OAS] Support setting availability
(#196647)](#196647)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Jean-Louis
Leysens","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-21T10:30:45Z","message":"[OAS]
Support setting availability (#196647)\n\n## Summary\r\n\r\nClose
https://github.com/elastic/kibana/issues/181995\r\n\r\nRelated
https://github.com/elastic/kibana/pull/195325\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Christiane (Tina)
Heiligers
<[email protected]>","sha":"608cc70be56fa63cb68a93d480e545fa95c0846a","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","Feature:OAS","v8.16.0","backport:version","v8.17.0"],"number":196647,"url":"https://github.com/elastic/kibana/pull/196647","mergeCommit":{"message":"[OAS]
Support setting availability (#196647)\n\n## Summary\r\n\r\nClose
https://github.com/elastic/kibana/issues/181995\r\n\r\nRelated
https://github.com/elastic/kibana/pull/195325\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Christiane (Tina)
Heiligers
<[email protected]>","sha":"608cc70be56fa63cb68a93d480e545fa95c0846a"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/196647","number":196647,"mergeCommit":{"message":"[OAS]
Support setting availability (#196647)\n\n## Summary\r\n\r\nClose
https://github.com/elastic/kibana/issues/181995\r\n\r\nRelated
https://github.com/elastic/kibana/pull/195325\r\n\r\n\r\n###
Checklist\r\n\r\n- [x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Christiane (Tina)
Heiligers
<[email protected]>","sha":"608cc70be56fa63cb68a93d480e545fa95c0846a"}},{"branch":"8.16","label":"v8.16.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/197025","number":197025,"state":"MERGED","mergeCommit":{"sha":"76993eb1f6b160a9f58377fee967c3b578023f5b","message":"[8.16]
[OAS] Support setting availability (#196647) (#197025)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`8.16`:\n- [[OAS] Support setting
availability\n(#196647)](https://github.com/elastic/kibana/pull/196647)\n\n<!---
Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the
[Backport
tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT
[{\"author\":{\"name\":\"Jean-Louis\nLeysens\",\"email\":\"[email protected]\"},\"sourceCommit\":{\"committedDate\":\"2024-10-21T10:30:45Z\",\"message\":\"[OAS]\nSupport
setting availability (#196647)\\n\\n##
Summary\\r\\n\\r\\nClose\nhttps://github.com//issues/181995\\r\\n\\r\\nRelated\nhttps://github.com//pull/195325\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\n-
[x] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most
common\nscenarios\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
Christiane
(Tina)\nHeiligers\n<[email protected]>\",\"sha\":\"608cc70be56fa63cb68a93d480e545fa95c0846a\",\"branchLabelMapping\":{\"^v9.0.0$\":\"main\",\"^v8.17.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"Team:Core\",\"release_note:skip\",\"v9.0.0\",\"Feature:OAS\",\"v8.16.0\",\"backport:version\"],\"title\":\"[OAS]\nSupport
setting\navailability\",\"number\":196647,\"url\":\"https://github.com/elastic/kibana/pull/196647\",\"mergeCommit\":{\"message\":\"[OAS]\nSupport
setting availability (#196647)\\n\\n##
Summary\\r\\n\\r\\nClose\nhttps://github.com//issues/181995\\r\\n\\r\\nRelated\nhttps://github.com//pull/195325\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\n-
[x] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most
common\nscenarios\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
Christiane
(Tina)\nHeiligers\n<[email protected]>\",\"sha\":\"608cc70be56fa63cb68a93d480e545fa95c0846a\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.16\"],\"targetPullRequestStates\":[{\"branch\":\"main\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v9.0.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/196647\",\"number\":196647,\"mergeCommit\":{\"message\":\"[OAS]\nSupport
setting availability (#196647)\\n\\n##
Summary\\r\\n\\r\\nClose\nhttps://github.com//issues/181995\\r\\n\\r\\nRelated\nhttps://github.com//pull/195325\\r\\n\\r\\n\\r\\n###\nChecklist\\r\\n\\r\\n-
[x] [Unit
or\nfunctional\\r\\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\\r\\nwere\nupdated
or added to match the most
common\nscenarios\\r\\n\\r\\n---------\\r\\n\\r\\nCo-authored-by:
Christiane
(Tina)\nHeiligers\n<[email protected]>\",\"sha\":\"608cc70be56fa63cb68a93d480e545fa95c0846a\"}},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"}]}]\nBACKPORT-->\n\nCo-authored-by:
Jean-Louis Leysens
<[email protected]>"}},{"branch":"8.x","label":"v8.17.0","labelRegex":"^v8.17.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:OAS Work or issues related to Core-provided mechanisms for generating OAS Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants