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
As a developer of applications and services, you can use {product-long-registry} to create and set up {registry} instances and connect your applications and services to these instances. {product-long-registry} is a managed cloud service that enables you to manage schema and API definitions in your applications without having to install, configure, run, and maintain your own {registry} clusters.
101
101
102
-
For more overview information, see the https://access.redhat.com/documentation/en-us/red_hat_openshift_service_registry/1[{product-long-registry} user documentation^]
102
+
For more overview information, see the https://access.redhat.com/documentation/en-us/red_hat_openshift_service_registry/1[{product-long-registry} user documentation^].
103
103
104
104
ifndef::community[]
105
105
.Prerequisites
@@ -159,29 +159,33 @@ endif::[]
159
159
160
160
161
161
[id="proc-uploading-registry-schema_{context}"]
162
-
== Uploading a schema to {registry}
162
+
== Uploading a schema or API to {registry}
163
163
164
164
[role="_abstract"]
165
-
After you create a {registry} instance, you can upload schema or API content to the instance. The following example shows uploading an Apache Avro schema for serializing and deserializing Kafka messages in client applications.
165
+
After you create a {registry} instance, you can upload schema or API content to the instance. The following examples show how to upload a simple Apache Avro schema file for serializing and deserializing Kafka messages in client applications, and how to upload the Petstore sample API from an HTTPS URL.
166
+
167
+
NOTE: Uploading an artifact from an HTTP URL is not supported for security reasons.
166
168
167
169
.Prerequisites
168
170
* You've created a {registry} instance and the instance is in *Ready* state.
169
171
170
172
.Procedure
171
-
. On the *{registry} Instances* page of the web console, select the {registry} instance that you want to upload a schema to.
172
-
. Click *Upload artifact* and complete the form to define the schema details:
173
+
. On the *{registry} Instances* page of the web console, select the {registry} instance that you want to upload the artifact to.
174
+
. Click *Upload artifact* and complete the form to define the artifact details:
173
175
+
174
176
[.screencapture]
175
177
.Guided steps to define artifact details
176
-
image::upload-schema.png[Image of form to upload a schema]
178
+
image::upload-artifact.png[Image of form to upload an artifact]
177
179
+
178
180
* *Group*: Enter an optional unique group name such as `my-org` to organize the artifact in a named collection. Each group contains a logically related set of schemas or API designs, typically managed by a single entity, belonging to a particular application or organization.
179
181
+
180
182
NOTE: Specifying a group is optional when using the web console, and a `default` group is automatically created.
181
183
+
182
184
* *ID*: Enter an optional unique ID for this artifact such as `my-ID`. If you do not specify a unique artifact ID, {registry} generates one automatically as a UUID.
183
-
* *Type*: Use the default *Auto-Detect* setting to automatically detect the artifact type, or select the artifact type from the list, for example, Avro Schema or OpenAPI.
184
-
* *Artifact*: Drag and drop or click *Browse* to upload a file. For this example, copy and paste the following simple Avro schema:
185
+
* *Type*: Use the default *Auto-Detect* setting to automatically detect the artifact type, or select the artifact type from the list, for example, **Avro Schema** or **OpenAPI**.
186
+
187
+
* *Artifact*: Specify the artifact location using either of the following options:
188
+
** *From file*: Click *Browse*, and select a file, or drag and drop a file. Alternatively, enter the file contents in the text box. For example, copy and paste the following simple Avro schema:
185
189
+
186
190
[source,json,subs="+quotes,attributes"]
187
191
----
@@ -201,32 +205,34 @@ NOTE: Specifying a group is optional when using the web console, and a `default`
201
205
]
202
206
}
203
207
----
208
+
** *From URL*: Enter a valid and accessible HTTPS URL, and click *Fetch*. For example: `\https://petstore3.swagger.io/api/v3/openapi.json`.
204
209
205
210
. Click *Upload* to complete the operation and display the new artifact details:
206
211
207
212
* *Overview* tab:
208
213
** *Version metadata*: Displays details such as the artifact name, artifact ID, global ID, content ID, labels, properties, and so on.
209
-
** *Content rules*: Displays artifact content rules that you can enable and configure. You can configure a *Validity rule* or *Compatibility rule* by enabling the rule and then selecting the appropriate rule configuration from the list. For details on supported rules, see the https://access.redhat.com/documentation/en-us/red_hat_openshift_service_registry/1[{product-long-registry} user documentation^].
210
-
* *Documentation* tab: (OpenAPI only): Displays automatically-generated REST API documentation.
214
+
** *Content rules*: Displays artifact content rules that you can enable and configure. You can configure a *Validity rule* or *Compatibility rule* by enabling the rule and then selecting the appropriate rule configuration from the list. For details on supported rules, see {content-rules-registry}.
215
+
216
+
* *Documentation* tab: (OpenAPI or AsyncAPI only): Displays automatically-generated REST API documentation.
211
217
* *Content* tab: Displays a read-only view of the full artifact content.
212
218
213
219
+
214
-
You can now use this schema to serialize and deserialize messages from Kafka client applications.
220
+
You can now use this schema or API artifact with your client applications.
215
221
216
222
. You can click *Upload new version* to add a new artifact version.
217
223
218
224
. You can click *Delete* to delete an artifact as needed.
219
225
+
220
-
IMPORTANT: Deleting an artifact deletes the artifact and all of its versions, and cannot be undone. Artifact versions are immutable and cannot be deleted individually.
226
+
IMPORTANT: Deleting an artifact deletes the artifact and all of its versions, and cannot be undone.
221
227
222
228
. To show the list of artifacts on the *Artifacts* tab, click the _instance-name_ breadcrumb.
223
229
224
230
.Verification
225
231
ifdef::qs[]
226
-
* Is the new schema listed on the *Artifacts* tab?
232
+
* Is the new artifact listed on the *Artifacts* tab?
227
233
endif::[]
228
234
ifndef::qs[]
229
-
* Verify that the new schema is listed on the *Artifacts* tab.
235
+
* Verify that the new artifact is listed on the *Artifacts* tab.
230
236
endif::[]
231
237
232
238
[id="proc-connecting-registry-clients_{context}"]
@@ -240,13 +246,13 @@ To connect your applications or services to a {registry} instance in the web con
240
246
241
247
.Procedure
242
248
. On the *{registry} Instances* page of the web console, for the instance that you want to connect to, select the options icon (three vertical dots), and click *Connection*.
243
-
. Depending on the client libraries that you want to use, chose the API for your needs:
249
+
. Depending on the client libraries that you want to use, choose the API for your needs:
244
250
+
245
-
* *Core Registry API* is the most powerful and works with Apicurio client libraries
246
-
* *Schema Registry compatibility API* provides compatibility with the Confluent Schema Registry API
247
-
* *CNCF Schema Registry API* provides compatibility with the CNCF specification
251
+
* *Core Registry API* is the most powerful API and works with Apicurio client libraries.
252
+
* *Schema Registry compatibility API* provides compatibility with the Confluent Schema Registry API.
253
+
* *CNCF Schema Registry API* provides compatibility with the CNCF specification.
248
254
249
-
. On the *Connection* page, copy the *Core Registry API* URL, or one of the other API URLs if you are using a different client, to a secure location. This is the server endpoint that you'll need to connect to this {registry} instance.
255
+
. On the *Connection* page, copy the *Core Registry API* URL, or one of the other API URLs if you are using a different client, to a secure location. You'll use this server endpoint to connect to this {registry} instance.
250
256
+
251
257
ifdef::qs[]
252
258
The remainder of this task describes how to create a service account and copy the generated credentials.
@@ -257,17 +263,15 @@ The remainder of this section describes how to create a service account and copy
257
263
If you want to use the credentials of an _existing_ service account, you can skip to the next section.
258
264
endif::[]
259
265
260
-
261
266
. Under *Service Accounts*, click *Create service account* to generate the credentials that you can use to connect applications to {registry} and Kafka instances.
262
267
263
-
264
268
. Copy the generated *Client ID* and *Client secret* to a secure location.
265
269
+
266
270
IMPORTANT: The generated credentials are displayed only one time. Ensure that you've successfully and securely saved the copied credentials before closing the credentials window.
267
271
268
272
. After you save the generated credentials to a secure location, select the confirmation check box in the credentials window and close the window.
269
273
270
-
. For the *Authentication method*, copy the OAuth *Token endpoint URL* to a secure location. This is the endpoint that you’ll use with your service account credentials to authenticate the connection to this {registry} instance.
274
+
. For the *Authentication method*, copy the OAuth *Token endpoint URL* to a secure location. You’ll use this endpoint with your service account credentials to authenticate the connection to this {registry} instance.
271
275
+
272
276
NOTE: HTTP Basic authentication is also available for tools and libraries that don't support OAuth, but OAuth is recommended whenever possible. With HTTP Basic, you use only the service account credentials to authenticate the connection to the {registry} instance.
0 commit comments