Skip to content

Commit 2780a5a

Browse files
authored
feat: Add artifacthub-repo.yml for verified publisher and version filtering (#624)
Artifact Hub reads this file from a special `artifacthub.io` tag on the chart's OCI repository, not from the chart itself. repositoryID enables the Verified publisher label. And using the "ignore" thing we can keep dev, rc and PR tags out of AH.
1 parent ba82093 commit 2780a5a

3 files changed

Lines changed: 45 additions & 0 deletions

File tree

.yamllint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ignore:
55
# yamllint can't parse these files as yaml because of j2 templating
66
- template/.github/ISSUE_TEMPLATE/bug_report.yml.j2
77
- template/deploy/helm/\[\[operator\]\]/Chart.yaml.j2
8+
- template/deploy/helm/artifacthub-repo.yml.j2
89
- template/deploy/helm/**/templates
910

1011
rules:

config/repositories.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ repositories:
1515
pretty_string: Apache Airflow
1616
product_string: airflow
1717
url: stackabletech/airflow-operator.git
18+
artifacthub_repository_id: 81701bbe-789b-4398-846d-cdf4e922d3b2
1819
chart_description: Kubernetes operator for Apache Airflow. Deploy and run Airflow with the Stackable Data Platform (SDP).
1920
keywords:
2021
- apache-airflow
@@ -29,6 +30,7 @@ repositories:
2930
chart_title: Stackable Commons Operator
3031
product_string: commons-operator
3132
url: stackabletech/commons-operator.git
33+
artifacthub_repository_id: 1a53cf2b-a870-4b19-b3cc-e914d02c2076
3234
chart_description: Kubernetes operator for common resources shared across the Stackable Data Platform (SDP).
3335
keywords:
3436
- stackable
@@ -42,6 +44,10 @@ repositories:
4244
pretty_string: Apache Druid
4345
product_string: druid
4446
url: stackabletech/druid-operator.git
47+
# Druid is being deprecated and removed from SDP, so it has no
48+
# Artifact Hub repository and no metadata file.
49+
ignored_files:
50+
- deploy/helm/artifacthub-repo.yml.j2
4551
chart_description: Kubernetes operator for Apache Druid. Deploy and run Druid clusters with the Stackable Data Platform (SDP).
4652
keywords:
4753
- apache-druid
@@ -56,6 +62,7 @@ repositories:
5662
pretty_string: Apache HBase
5763
product_string: hbase
5864
url: stackabletech/hbase-operator.git
65+
artifacthub_repository_id: 64f82a91-c7c7-4964-8115-c846436f139f
5966
chart_description: Kubernetes operator for Apache HBase. Deploy and run HBase masters and region servers with the Stackable Data Platform (SDP).
6067
keywords:
6168
- apache-hbase
@@ -69,6 +76,7 @@ repositories:
6976
pretty_string: Apache HDFS
7077
product_string: hdfs
7178
url: stackabletech/hdfs-operator.git
79+
artifacthub_repository_id: 2d19d362-65c5-47ab-b04a-217b5bd32f2c
7280
chart_description: Kubernetes operator for Apache Hadoop HDFS. Deploy and run HDFS NameNodes, DataNodes and JournalNodes with the Stackable Data Platform (SDP).
7381
keywords:
7482
- apache-hadoop
@@ -83,6 +91,7 @@ repositories:
8391
pretty_string: Apache Hive
8492
product_string: hive
8593
url: stackabletech/hive-operator.git
94+
artifacthub_repository_id: 3dcde43a-1a00-44ba-a70c-837d37737140
8695
chart_description: Kubernetes operator for Apache Hive. Deploy and run the Hive Metastore with the Stackable Data Platform (SDP).
8796
keywords:
8897
- apache-hive
@@ -97,6 +106,7 @@ repositories:
97106
pretty_string: Apache Kafka
98107
product_string: kafka
99108
url: stackabletech/kafka-operator.git
109+
artifacthub_repository_id: 93d87788-9ae7-4f2f-870d-04134948785a
100110
chart_description: Kubernetes operator for Apache Kafka. Deploy and run Kafka brokers with the Stackable Data Platform (SDP).
101111
keywords:
102112
- apache-kafka
@@ -111,6 +121,7 @@ repositories:
111121
pretty_string: Apache NiFi
112122
product_string: nifi
113123
url: stackabletech/nifi-operator.git
124+
artifacthub_repository_id: e0f40fc2-895b-4bbf-9446-91a47035d858
114125
chart_description: Kubernetes operator for Apache NiFi. Deploy and run NiFi clusters with the Stackable Data Platform (SDP).
115126
keywords:
116127
- apache-nifi
@@ -126,6 +137,7 @@ repositories:
126137
chart_title: Stackable Listener Operator
127138
product_string: listener-operator
128139
url: stackabletech/listener-operator.git
140+
artifacthub_repository_id: 739bf044-22df-4d16-b4a9-d2a326e3c821
129141
chart_description: Kubernetes operator for exposing pods through listeners, load balancers and NodePorts. Part of the Stackable Data Platform (SDP).
130142
keywords:
131143
- listener
@@ -142,6 +154,7 @@ repositories:
142154
pretty_string: OpenPolicyAgent
143155
product_string: opa
144156
url: stackabletech/opa-operator.git
157+
artifacthub_repository_id: af99c9ca-d938-4416-a154-bc358595b378
145158
chart_description: Kubernetes operator for the Open Policy Agent (OPA). Deploy and run OPA for authorization with the Stackable Data Platform (SDP).
146159
keywords:
147160
- open-policy-agent
@@ -159,6 +172,7 @@ repositories:
159172
pretty_string: OpenSearch
160173
product_string: opensearch
161174
url: stackabletech/opensearch-operator.git
175+
artifacthub_repository_id: 379132ea-3510-4899-bb2d-310a415fa419
162176
chart_description: Kubernetes operator for OpenSearch. Deploy and run OpenSearch clusters with the Stackable Data Platform (SDP).
163177
keywords:
164178
- opensearch
@@ -172,6 +186,7 @@ repositories:
172186
chart_title: Stackable Secret Operator
173187
product_string: secret-operator
174188
url: stackabletech/secret-operator.git
189+
artifacthub_repository_id: 8b2d881e-50e2-4810-a01c-338bbfaac78c
175190
chart_description: Kubernetes operator for provisioning TLS certificates, Kerberos keytabs and other secrets to pods. Part of the Stackable Data Platform (SDP).
176191
keywords:
177192
- secrets
@@ -189,6 +204,7 @@ repositories:
189204
product_string: spark-k8s
190205
hub_component_slug: spark
191206
url: stackabletech/spark-k8s-operator.git
207+
artifacthub_repository_id: f2de1657-1ef4-483f-905a-c981e38cfb57
192208
chart_description: Kubernetes operator for Apache Spark. Run Spark applications on Kubernetes with the Stackable Data Platform (SDP).
193209
keywords:
194210
- apache-spark
@@ -202,6 +218,7 @@ repositories:
202218
pretty_string: Apache Superset
203219
product_string: superset
204220
url: stackabletech/superset-operator.git
221+
artifacthub_repository_id: 49f70221-f2d0-463c-89d8-41682d5d53df
205222
chart_description: Kubernetes operator for Apache Superset. Deploy and run Superset with the Stackable Data Platform (SDP).
206223
keywords:
207224
- apache-superset
@@ -215,6 +232,7 @@ repositories:
215232
pretty_string: Trino
216233
product_string: trino
217234
url: stackabletech/trino-operator.git
235+
artifacthub_repository_id: 02de1bee-270f-4d85-bc30-6e5d2288b2b7
218236
chart_description: Kubernetes operator for Trino. Deploy and run Trino coordinators and workers with the Stackable Data Platform (SDP).
219237
keywords:
220238
- trino
@@ -229,6 +247,7 @@ repositories:
229247
pretty_string: Apache ZooKeeper
230248
product_string: zookeeper
231249
url: stackabletech/zookeeper-operator.git
250+
artifacthub_repository_id: 60d8c6a9-e317-4d69-868b-b10663af6290
232251
chart_description: Kubernetes operator for Apache ZooKeeper. Deploy and run ZooKeeper ensembles with the Stackable Data Platform (SDP).
233252
keywords:
234253
- apache-zookeeper
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
# Artifact Hub (AH) repository metadata.
3+
#
4+
# This is NOT part of the chart.
5+
# Artifact Hub reads it from a separate OCI artifact pushed to the chart repository under the special `artifacthub.io` tag:
6+
#
7+
# oras push oci.stackable.tech/sdp-charts/{[ operator.name }]:artifacthub.io \
8+
# --config /dev/null:application/vnd.cncf.artifacthub.config.v1+yaml \
9+
# artifacthub-repo.yml:application/vnd.cncf.artifacthub.repository-metadata.layer.v1.yaml
10+
#
11+
# Reference: https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-repo.yml and https://artifacthub.io/docs/topics/repositories/#verified-publisher
12+
13+
# Enables the "Verified publisher" label in AH. Taken from the repository's card in
14+
# the Artifact Hub control panel. Not a secret.
15+
#
16+
# Every operator that gets this file has an ID. An operator without an Artifact Hub
17+
# repository excludes the file entirely via `ignored_files` in
18+
# config/repositories.yaml, the way druid does while it is being removed from SDP.
19+
repositoryID: {[ operator.artifacthub_repository_id }]
20+
21+
# Versions Artifact Hub should not index.
22+
# This excludes all dev/rc/pr charts.
23+
ignore:
24+
- name: {[ operator.name }]
25+
version: '-(dev|rc|pr)'

0 commit comments

Comments
 (0)