Skip to content

Commit 5621119

Browse files
OSDOCS-8884: OLM 1.0 catalog port forwarding and jq
1 parent 51d89e3 commit 5621119

File tree

3 files changed

+175
-163
lines changed

3 files changed

+175
-163
lines changed

modules/olmv1-catalog-queries.adoc

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * operators/olm_v1/olmv1-installing-an-operator-from-a-catalog.adoc
4+
5+
:_mod-docs-content-type: REFERENCE
6+
7+
[id="olmv1-catalog-queries_{context}"]
8+
= Common catalog queries
9+
10+
You can query catalogs by using the `jq` CLI tool.
11+
12+
// https://docs.asciidoctor.org/asciidoc/latest/tables/format-cell-content/#a-operator
13+
// https://docs.asciidoctor.org/asciidoc/latest/tables/data-format/#escape-the-cell-separator
14+
.Common package queries
15+
[options="header",cols="1,3"]
16+
|===
17+
|Query |Request
18+
19+
|Available packages in a catalog
20+
a|
21+
[source,terminal]
22+
----
23+
$ jq -s '.[] \| select( .schema == "olm.package") \| \
24+
.name' <catalog_name>.json
25+
----
26+
27+
|Package metadata
28+
a|
29+
[source,terminal]
30+
----
31+
$ jq -s '.[] \| select( .schema == "olm.package") \| \
32+
select( .name == "<package_name>")' <catalog_name>.json
33+
----
34+
35+
|Catalog blobs in a package
36+
a|
37+
[source,terminal]
38+
----
39+
$ jq -s '.[] \| select( .package == "<package_name>")' \
40+
<catalog_name>.json
41+
----
42+
43+
|===
44+
45+
.Common channel queries
46+
[options="header",cols="1,3"]
47+
|===
48+
|Query |Request
49+
50+
|Channels in a package
51+
a|
52+
[source,terminal]
53+
----
54+
$ jq -s '.[] \| select( .schema == "olm.channel" ) \| \
55+
select( .package == "<package_name>") \| .name' \
56+
<catalog_name>.json
57+
----
58+
59+
a|
60+
* Latest version in a channel
61+
* Upgrade path
62+
a|
63+
[source,terminal]
64+
----
65+
$ jq -s '.[] \| select( .schema == "olm.channel" ) \| \
66+
select ( .name == "<channel>") \| \
67+
select( .package == "<package_name>")' \
68+
<catalog_name>.json
69+
----
70+
71+
|===
72+
73+
.Common bundle queries
74+
[options="header",cols="1,3"]
75+
|===
76+
|Query |Request
77+
78+
|Bundles in a package
79+
a|
80+
[source,terminal]
81+
----
82+
$ jq -s '.[] \| select( .schema == "olm.bundle" ) \| \
83+
select( .package == "<package_name>") \| .name' \
84+
<catalog_name>.json
85+
----
86+
87+
a|
88+
* Bundle dependencies
89+
* Available APIs
90+
a|
91+
[source,terminal]
92+
----
93+
$ jq -s '.[] \| select( .schema == "olm.bundle" ) \| \
94+
select ( .name == "<bundle_name>") \| \
95+
select( .package == "<package_name>")' \
96+
<catalog_name>.json
97+
----
98+
99+
|===

modules/olmv1-finding-operators-to-install.adoc

Lines changed: 75 additions & 163 deletions
Original file line numberDiff line numberDiff line change
@@ -7,202 +7,114 @@
77
[id="olmv1-finding-operators-to-install_{context}"]
88
= Finding Operators to install from a catalog
99

10-
After you add a catalog to your cluster, you can query the catalog to find Operators and extensions to install.
10+
After you add a catalog to your cluster, you can query the catalog to find Operators and extensions to install. Before you can query catalogs, you must port forward the catalog server service.
1111

1212
.Prerequisite
1313

1414
* You have added a catalog to your cluster.
15+
* You have installed the `jq` CLI tool.
1516

1617
.Procedure
1718

18-
. Get a list of the Operators and extensions in the catalog by running the following command:
19+
. Port foward the catalog server service in the `openshift-catalogd` namespace by running the following command:
1920
+
2021
[source,terminal]
2122
----
22-
$ oc get packages
23+
$ oc -n openshift-catalogd port-forward svc/catalogd-catalogserver 8080:80
24+
----
25+
26+
. Download the catalog's JSON file locally by running the following command:
27+
+
28+
[source,terminal]
29+
----
30+
$ curl -L http://localhost:8080/catalogs/<catalog_name>/all.json \
31+
-C - -o /<path>/<catalog_name>.json
2332
----
2433
+
34+
.Example command
35+
[%collapsible]
36+
====
37+
[source,terminal]
38+
----
39+
$ curl -L http://localhost:8080/catalogs/redhat-operators/all.json \
40+
-C - -o /home/<username>/catalogs/rhoc.json
41+
----
42+
====
43+
44+
. Get a list of the Operators and extensions from the local catalog file by running the following command:
45+
+
46+
[source,terminal]
47+
----
48+
$ jq -s '.[] | select(.schema == "olm.package") | .name' \
49+
/<path>/<filename>.json
50+
----
51+
+
52+
.Example command
53+
[%collapsible]
54+
====
55+
[source,terminal]
56+
----
57+
$ jq -s '.[] | select(.schema == "olm.package") | .name' \
58+
/home/<username>/catalogs/rhoc.json
59+
----
60+
====
61+
+
2562
.Example output
2663
[%collapsible]
2764
====
2865
[source,text]
2966
----
3067
NAME AGE
31-
redhat-operators-3scale-operator 5m27s
32-
redhat-operators-advanced-cluster-management 5m27s
33-
redhat-operators-amq-broker-rhel8 5m27s
34-
redhat-operators-amq-online 5m27s
35-
redhat-operators-amq-streams 5m27s
36-
redhat-operators-amq7-interconnect-operator 5m27s
37-
redhat-operators-ansible-automation-platform-operator 5m27s
38-
redhat-operators-ansible-cloud-addons-operator 5m27s
39-
redhat-operators-apicast-operator 5m27s
40-
redhat-operators-aws-efs-csi-driver-operator 5m27s
41-
redhat-operators-aws-load-balancer-operator 5m27s
68+
"3scale-operator"
69+
"advanced-cluster-management"
70+
"amq-broker-rhel8"
71+
"amq-online"
72+
"amq-streams"
73+
"amq7-interconnect-operator"
74+
"ansible-automation-platform-operator"
75+
"ansible-cloud-addons-operator"
76+
"apicast-operator"
77+
"aws-efs-csi-driver-operator"
78+
"aws-load-balancer-operator"
79+
"bamoe-businessautomation-operator"
80+
"bamoe-kogito-operator"
81+
"bare-metal-event-relay"
82+
"businessautomation-operator"
4283
...
4384
----
4485
====
4586

46-
. Inspect the contents of an Operator or extension's custom resource (CR) by running the following command:
87+
. Inspect the contents of an Operator or extension's metadata by running the following command:
4788
+
4889
[source,terminal]
4990
----
50-
$ oc get package <catalog_name>-<package_name> -o yaml
91+
$ jq -s '.[] | select( .schema == "olm.package") | \
92+
select( .name == "<package_name>")' <catalog_name>.json
5193
----
5294
+
5395
.Example command
54-
[source,text]
96+
[%collapsible]
97+
====
98+
[source,terminal]
5599
----
56-
$ oc get package redhat-operators-quay-operator -o yaml
100+
$ jq -s '.[] | select( .schema == "olm.package") | \
101+
select( .name == "serverless-operator")' rhoc.json
57102
----
103+
====
58104
+
59105
.Example output
60106
[%collapsible]
61107
====
62108
[source,text]
63109
----
64-
apiVersion: catalogd.operatorframework.io/v1alpha1
65-
kind: Package
66-
metadata:
67-
creationTimestamp: "2023-10-06T01:14:04Z"
68-
generation: 1
69-
labels:
70-
catalog: redhat-operators
71-
name: redhat-operators-quay-operator
72-
ownerReferences:
73-
- apiVersion: catalogd.operatorframework.io/v1alpha1
74-
blockOwnerDeletion: true
75-
controller: true
76-
kind: Catalog
77-
name: redhat-operators
78-
uid: 403004b6-54a3-4471-8c90-63419f6a2c3e
79-
resourceVersion: "45196"
80-
uid: 252cfe74-936d-44fc-be5d-09a7be7e36f5
81-
spec:
82-
catalog:
83-
name: redhat-operators
84-
channels:
85-
- entries:
86-
- name: quay-operator.v3.4.7
87-
skips:
88-
- red-hat-quay.v3.3.4
89-
- quay-operator.v3.4.6
90-
- quay-operator.v3.4.5
91-
- quay-operator.v3.4.4
92-
- quay-operator.v3.4.3
93-
- quay-operator.v3.4.2
94-
- quay-operator.v3.4.1
95-
- quay-operator.v3.4.0
96-
name: quay-v3.4
97-
- entries:
98-
- name: quay-operator.v3.5.7
99-
replaces: quay-operator.v3.5.6
100-
skipRange: '>=3.4.x <3.5.7'
101-
name: quay-v3.5
102-
- entries:
103-
- name: quay-operator.v3.6.0
104-
skipRange: '>=3.3.x <3.6.0'
105-
- name: quay-operator.v3.6.1
106-
replaces: quay-operator.v3.6.0
107-
skipRange: '>=3.3.x <3.6.1'
108-
- name: quay-operator.v3.6.10
109-
replaces: quay-operator.v3.6.9
110-
skipRange: '>=3.3.x <3.6.10'
111-
- name: quay-operator.v3.6.2
112-
replaces: quay-operator.v3.6.1
113-
skipRange: '>=3.3.x <3.6.2'
114-
- name: quay-operator.v3.6.4
115-
replaces: quay-operator.v3.6.2
116-
skipRange: '>=3.3.x <3.6.4'
117-
- name: quay-operator.v3.6.5
118-
replaces: quay-operator.v3.6.4
119-
skipRange: '>=3.3.x <3.6.5'
120-
- name: quay-operator.v3.6.6
121-
replaces: quay-operator.v3.6.5
122-
skipRange: '>=3.3.x <3.6.6'
123-
- name: quay-operator.v3.6.7
124-
replaces: quay-operator.v3.6.6
125-
skipRange: '>=3.3.x <3.6.7'
126-
- name: quay-operator.v3.6.8
127-
replaces: quay-operator.v3.6.7
128-
skipRange: '>=3.3.x <3.6.8'
129-
- name: quay-operator.v3.6.9
130-
replaces: quay-operator.v3.6.8
131-
skipRange: '>=3.3.x <3.6.9'
132-
name: stable-3.6
133-
- entries:
134-
- name: quay-operator.v3.7.10
135-
replaces: quay-operator.v3.7.9
136-
skipRange: '>=3.4.x <3.7.10'
137-
- name: quay-operator.v3.7.11
138-
replaces: quay-operator.v3.7.10
139-
skipRange: '>=3.4.x <3.7.11'
140-
- name: quay-operator.v3.7.12
141-
replaces: quay-operator.v3.7.11
142-
skipRange: '>=3.4.x <3.7.12'
143-
- name: quay-operator.v3.7.13
144-
replaces: quay-operator.v3.7.12
145-
skipRange: '>=3.4.x <3.7.13'
146-
- name: quay-operator.v3.7.14
147-
replaces: quay-operator.v3.7.13
148-
skipRange: '>=3.4.x <3.7.14'
149-
name: stable-3.7
150-
- entries:
151-
- name: quay-operator.v3.8.0
152-
skipRange: '>=3.5.x <3.8.0'
153-
- name: quay-operator.v3.8.1
154-
replaces: quay-operator.v3.8.0
155-
skipRange: '>=3.5.x <3.8.1'
156-
- name: quay-operator.v3.8.10
157-
replaces: quay-operator.v3.8.9
158-
skipRange: '>=3.5.x <3.8.10'
159-
- name: quay-operator.v3.8.11
160-
replaces: quay-operator.v3.8.10
161-
skipRange: '>=3.5.x <3.8.11'
162-
- name: quay-operator.v3.8.12
163-
replaces: quay-operator.v3.8.11
164-
skipRange: '>=3.5.x <3.8.12'
165-
- name: quay-operator.v3.8.2
166-
replaces: quay-operator.v3.8.1
167-
skipRange: '>=3.5.x <3.8.2'
168-
- name: quay-operator.v3.8.3
169-
replaces: quay-operator.v3.8.2
170-
skipRange: '>=3.5.x <3.8.3'
171-
- name: quay-operator.v3.8.4
172-
replaces: quay-operator.v3.8.3
173-
skipRange: '>=3.5.x <3.8.4'
174-
- name: quay-operator.v3.8.5
175-
replaces: quay-operator.v3.8.4
176-
skipRange: '>=3.5.x <3.8.5'
177-
- name: quay-operator.v3.8.6
178-
replaces: quay-operator.v3.8.5
179-
skipRange: '>=3.5.x <3.8.6'
180-
- name: quay-operator.v3.8.7
181-
replaces: quay-operator.v3.8.6
182-
skipRange: '>=3.5.x <3.8.7'
183-
- name: quay-operator.v3.8.8
184-
replaces: quay-operator.v3.8.7
185-
skipRange: '>=3.5.x <3.8.8'
186-
- name: quay-operator.v3.8.9
187-
replaces: quay-operator.v3.8.8
188-
skipRange: '>=3.5.x <3.8.9'
189-
name: stable-3.8
190-
- entries:
191-
- name: quay-operator.v3.9.0
192-
skipRange: '>=3.6.x <3.9.0'
193-
- name: quay-operator.v3.9.1
194-
replaces: quay-operator.v3.9.0
195-
skipRange: '>=3.6.x <3.9.1'
196-
- name: quay-operator.v3.9.2
197-
replaces: quay-operator.v3.9.1
198-
skipRange: '>=3.6.x <3.9.2'
199-
name: stable-3.9
200-
defaultChannel: stable-3.9
201-
description: ""
202-
icon:
203-
data: PD94bWwgdmVyc2lvbj ...
204-
mediatype: image/svg+xml
205-
packageName: quay-operator
206-
status: {}
207-
----
208-
====
110+
{
111+
"defaultChannel": "stable",
112+
"icon": {
113+
"base64data": "PHN2ZyB4bWxu..."
114+
"mediatype": "image/svg+xml"
115+
},
116+
"name": "serverless-operator",
117+
"schema": "olm.package"
118+
}
119+
----
120+
====

operators/olm_v1/olmv1-installing-an-operator-from-a-catalog.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ include::modules/olmv1-adding-a-catalog.adoc[leveloffset=+1]
5454
* xref:../../operators/olm_v1/olmv1-installing-an-operator-from-a-catalog.adoc#olmv1-creating-a-pull-secret-for-catalogs-secure-registry_olmv1-installing-operator[Creating a pull secret for catalogs hosted on a secure registry]
5555

5656
include::modules/olmv1-finding-operators-to-install.adoc[leveloffset=+1]
57+
include::modules/olmv1-catalog-queries.adoc[leveloffset=+2]
5758

5859
include::modules/olmv1-about-target-versions.adoc[leveloffset=+1]
5960
include::modules/olmv1-updating-an-operator.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)