nastra closed pull request #9940: OpenAPI: Express server capabilities via
/config endpoint
URL: https://github.com/apache/iceberg/pull/9940
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the speci
nastra commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2343350495
closing this in favor of #10928
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specifi
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1680677711
##
open-api/rest-catalog-open-api.yaml:
##
@@ -100,6 +121,16 @@ paths:
Common catalog configuration settings are documented at
https://iceberg.apach
dimas-b commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1676113409
##
open-api/rest-catalog-open-api.yaml:
##
@@ -100,6 +121,16 @@ paths:
Common catalog configuration settings are documented at
https://iceberg.apac
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1670761826
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1548,6 +1611,34 @@ components:
items:
type: string
+ServerCapability:
+ type: objec
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1670758743
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1670756436
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1665327420
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,12 +65,26 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+# Capability tags describe optional functionality
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1665314780
##
open-api/rest-catalog-open-api.yaml:
##
@@ -191,7 +220,8 @@ paths:
get:
tags:
-- Catalog API
+- tables
+- views
Review Comment:
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1665217429
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,12 +65,26 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+# Capability tags describe optional functionality
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1665211346
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
Im
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1664441868
##
open-api/rest-catalog-open-api.yaml:
##
@@ -191,7 +220,8 @@ paths:
get:
tags:
-- Catalog API
+- tables
+- views
Review Comm
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1664416515
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1664421615
##
open-api/rest-catalog-open-api.yaml:
##
@@ -191,7 +220,8 @@ paths:
get:
tags:
-- Catalog API
+- tables
+- views
Review Comm
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1664416515
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
jackye1995 commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1664416515
##
open-api/rest-catalog-open-api.yaml:
##
@@ -28,6 +28,10 @@ info:
description:
Defines the specification for the first version of the REST Catalog API.
adutra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1657057918
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
Indeed there is the `rest
rdblue commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2177231902
> How is this tag-based approach backwards compatible?
@jackye1995, I think what we're realizing is that we need to be able to
signal that capabilities are supported. Future addition
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1645193788
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
@nastra, looks like this
rdblue commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2177235732
I think this is close to a point where we can open a mailing list thread for
it, but we still have some open items:
* Add a `tables` tag
* Remove tags that are not capabilities
* L
jackye1995 commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2122735443
How is this tag-based approach backwards compatible? Suppose someone does
not have a `view` tag but we support all view APIs because they have the
catalog running right now, it seems l
snazy commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2032202321
> > I've got strong concerns about using `enum` here - special handling here
and there, I think, that complicates things for adopters of any OpenAPI spec.
>
> @snazy we use `enum` in
nastra commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2032092212
> I've got strong concerns about using `enum` here - special handling here
and there, I think, that complicates things for adopters of any OpenAPI spec.
@snazy we use `enum` in t
nastra commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2025004545
> If I'm correct this approach provides a way to group catalog
functionalities, and allow the server to explicitly define the support or not.
This is kind of similar to what both the appen
geruh commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2023422080
If I'm correct this approach provides a way to group catalog
functionalities, and allow the server to explicitly define the support or not.
This is kind of similar to what both the append a
snazy commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1534219425
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be use
nastra commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2009520640
> @nastra Also was wondering what you meant by this, did you want me to pick
up these changes and include them into the preplan/plan pr?
https://github.com/apache/iceberg/pull/9940 s
rahil-c commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2009489863
> capabilities field to the response of the /config endpoint, signaling what
is being supported by the server.
> For scan-planning it's not clear yet whether whether we'd like to only
nastra commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-2008935935
After some discussions, the capablities that we'd like to currently support
are:
* views
* vended-credentials
* remote-signing
* multi-table commit
For `scan-planning` it
danielcweeks commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1525088666
##
open-api/rest-catalog-open-api.py:
##
@@ -54,6 +54,24 @@ class CatalogConfig(BaseModel):
...,
description='Properties that should be used as d
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1525049946
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
+ - name: views
+description: Requires s
snazy commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1524318797
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be use
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523692666
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
I guess the question I ha
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523693006
##
open-api/rest-catalog-open-api.yaml:
##
@@ -80,12 +88,14 @@ paths:
"
All REST clients should first call this route to get catalog
configuration
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523691459
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
+ - name: views
+description: Requires s
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523690819
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
+ - name: views
+description: Requires s
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523294867
##
open-api/rest-catalog-open-api.yaml:
##
@@ -114,7 +124,8 @@ paths:
},
"defaults": {
"clients": "4"
-
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523281874
##
open-api/rest-catalog-open-api.yaml:
##
@@ -80,12 +88,14 @@ paths:
"
All REST clients should first call this route to get catalog
configuration
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523104924
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
For a capability like `ta
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523089270
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be us
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523104924
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
For a capability like `ta
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1523089270
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be us
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1522939008
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be us
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1522920303
##
aws/src/main/resources/s3-signer-open-api.yaml:
##
@@ -56,13 +56,18 @@ servers:
description: Optional prefix to be appended to all routes
default: "
nastra commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1522904160
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
+ - name: views
+description: Requires s
snazy commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1522811023
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be use
rdblue commented on PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#issuecomment-1992146984
@nastra, this is a great start. I think we also want to add a section in the
overall API description that covers how tags are used when there is a matching
capability. That is, capability
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521831389
##
open-api/rest-catalog-open-api.yaml:
##
@@ -1559,6 +1578,22 @@ components:
type: string
description:
Properties that should be us
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521830908
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
I'd like to add to the ov
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521829334
##
open-api/rest-catalog-open-api.yaml:
##
@@ -114,7 +124,8 @@ paths:
},
"defaults": {
"clients": "4"
-
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521826641
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
Review Comment:
I think that we should ad
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521825954
##
open-api/rest-catalog-open-api.yaml:
##
@@ -61,6 +61,14 @@ security:
- OAuth2: [catalog]
- BearerAuth: []
+tags:
+ - name: views
+description: Requires s
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521825337
##
open-api/rest-catalog-open-api.yaml:
##
@@ -80,12 +88,14 @@ paths:
"
All REST clients should first call this route to get catalog
configuration
rdblue commented on code in PR #9940:
URL: https://github.com/apache/iceberg/pull/9940#discussion_r1521821213
##
aws/src/main/resources/s3-signer-open-api.yaml:
##
@@ -56,13 +56,18 @@ servers:
description: Optional prefix to be appended to all routes
default: "
54 matches
Mail list logo