You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠️ change catalog-specific URL from full path to API endpoint ref (#429)
* change catalog-specific URL from full path to API endpoint ref
solves #427 and implements phase 1 of the CatalogD expandable interface.
This phase just moves from `status.contentURL` to `status.baseURL`, and
will be used to provide reference to the catalog-specific API instead of
the full path to JSONLines-formatted content, plus tests and
documentation.
Signed-off-by: Jordan Keister <[email protected]>
* sticking to catalog-centric reference, and updated type
Signed-off-by: Jordan Keister <[email protected]>
* remove some magic numbers
Signed-off-by: Jordan Keister <[email protected]>
* review reconciliation
Signed-off-by: Jordan Keister <[email protected]>
---------
Signed-off-by: Jordan Keister <[email protected]>
@@ -153,7 +153,7 @@ Thanks for your interest in contributing to `catalogd`!
153
153
154
154
`catalogd` is in the very early stages of development and a more in depth contributing guide will come in the near future.
155
155
156
-
In the mean time, it is assumed you know how to make contributions to open source projects in general and this guide will only focus on how to manually test your changes (no automated testing yet).
156
+
In the meantime, it is assumed you know how to make contributions to open source projects in general and this guide will only focus on how to manually test your changes (no automated testing yet).
157
157
158
158
If you have any questions, feel free to reach out to us on the Kubernetes Slack channel [#olm-dev](https://kubernetes.slack.com/archives/C0181L6JYQ2) or [create an issue](https://github.com/operator-framework/catalogd/issues/new)
Copy file name to clipboardExpand all lines: docs/fetching-catalog-contents.md
+16-13Lines changed: 16 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,9 @@
1
1
# `ClusterCatalog` Interface
2
-
`catalogd` serves catalog content via an HTTP(S) endpoint
2
+
`catalogd` serves catalog content via a catalog-specific, versioned HTTP(S) endpoint. Clients access catalog information via this API endpoint and a versioned reference of the desired format. Current support includes only a complete catalog download, indicated by the path "api/v1/all", for example if `status.urls.base` is `https://catalogd-service.olmv1-system.svc/catalogs/operatorhubio` then `https://catalogd-service.olmv1-system.svc/catalogs/operatorhubio/api/vi/all` would receive the complete FBC for the catalog `operatorhubio`.
3
+
3
4
4
5
## Response Format
5
-
`catalogd` responses are encoded as a [JSON Lines](https://jsonlines.org/) stream of File-Based Catalog (FBC) [Meta](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#schema) objects delimited by newlines.
6
+
`catalogd` responses retrieved via the catalog-specific v1 API are encoded as a [JSON Lines](https://jsonlines.org/) stream of File-Based Catalog (FBC) [Meta](https://olm.operatorframework.io/docs/reference/file-based-catalogs/#schema) objects delimited by newlines.
6
7
7
8
### Example
8
9
For an example JSON-encoded FBC snippet
@@ -79,30 +80,32 @@ For example purposes we make the following assumption:
79
80
For local development, consider skipping TLS verification, such as `curl -k`, or reference external material
80
81
on self-signed certificate verification.
81
82
82
-
`ClusterCatalog` CRs have a status.contentURL field whose value is the location where the content
83
-
of a catalog can be read from:
83
+
`ClusterCatalog` CRs have a `status.urls.base` field which identifies the catalog-specific API to access the catalog content:
When making a request for the complete contents of the `operatorhubio` `ClusterCatalog` from within
100
+
the cluster, clients would combine `status.urls.base` with the desired API service and issue an HTTP GET request for the URL.
101
+
102
+
For example, to receive the complete catalog data for the `operatorhubio` catalog indicated above, the client would append the service point designator `api/v1/all`, like:
0 commit comments