What is the purpose of attribute keywords in Helm Chart's Chart.yaml?

3/31/2021

I have seen in many Helm Chart's Chart.yaml where developers provide keywords, as for example

keywords:
  - "http"
  - "https"
  - "web server"

What is the significance of providing these? Are these getting validated by something in Helm? I tried to look out for reasons, but I did not get useful information, so posting here.

-- Nish
helmfile
kubernetes
kubernetes-helm

1 Answer

3/31/2021

The keywords field specifies a list of keywords about the project. It helps user search charts based on keywords. For example, helm search repo database will bring up the charts which contain the database keyword such as postgres, mariadb, etc.

Search by keyword:

$ helm search repo database
NAME                           	CHART VERSION	APP VERSION            	DESCRIPTION                                       
stable/cockroachdb             	3.0.8        	19.2.5                 	DEPRECATED -- CockroachDB is a scalable, surviv...
stable/couchdb                 	2.3.0        	2.3.1                  	DEPRECATED A database featuring seamless multi-...
stable/dokuwiki                	6.0.11       	0.20180422.201901061035	DEPRECATED DokuWiki is a standards-compliant, s...
stable/ignite                  	1.2.2        	2.7.6                  	DEPRECATED - Apache Ignite is an open-source di...
stable/janusgraph              	0.2.6        	1.0                    	DEPRECATED - Open source, scalable graph database.
stable/kubedb                  	0.1.3        	0.8.0-beta.2           	DEPRECATED KubeDB by AppsCode - Making running ...
stable/mariadb                 	7.3.14       	10.3.22                	DEPRECATED Fast, reliable, scalable, and easy t...
stable/mediawiki               	9.1.9        	1.34.0                 	DEPRECATED Extremely powerful, scalable softwar...
stable/mongodb                 	7.8.10       	4.2.4                  	DEPRECATED NoSQL document-oriented database tha...
stable/mongodb-replicaset      	3.17.2       	3.6                    	DEPRECATED - NoSQL document-oriented database t...
stable/mysql                   	1.6.9        	5.7.30                 	DEPRECATED - Fast, reliable, scalable, and easy...
stable/mysqldump               	2.6.2        	2.4.1                  	DEPRECATED! - A Helm chart to help backup MySQL...
stable/neo4j                   	3.0.1        	4.0.4                  	DEPRECATED Neo4j is the world's leading graph d...
stable/pgadmin                 	1.2.2        	4.18.0                 	pgAdmin is a web based administration tool for ...
stable/postgresql              	8.6.4        	11.7.0                 	DEPRECATED Chart for PostgreSQL, an object-rela...
stable/prisma                  	1.2.4        	1.29.1                 	DEPRECATED Prisma turns your database into a re...
stable/prometheus              	11.12.1      	2.20.1                 	DEPRECATED Prometheus is a monitoring system an...
stable/rethinkdb               	1.1.4        	0.1.0                  	DEPRECATED - The open-source database for the r...
stable/couchbase-operator      	1.0.4        	1.2.2                  	DEPRECATED A Helm chart to deploy the Couchbase...
stable/hazelcast               	3.3.2        	4.0.1                  	DEPRECATED Hazelcast IMDG is the most widely us...
stable/influxdb                	4.3.2        	1.7.9                  	DEPRECATED Scalable datastore for metrics, even...
stable/percona                 	1.2.3        	5.7.26                 	DEPRECATED - free, fully compatible, enhanced, ...
stable/percona-xtradb-cluster  	1.0.8        	5.7.19                 	DEPRECATED - free, fully compatible, enhanced, ...
stable/redis                   	10.5.7       	5.0.7                  	DEPRECATED Open source, advanced key-value stor...
stable/redis-ha                	4.4.6        	5.0.6                  	DEPRECATED - Highly available Kubernetes implem...

Check whether the chart has that keyword:

$  helm show chart stable/mariadb
apiVersion: v1
appVersion: 10.3.22
deprecated: true
description: DEPRECATED Fast, reliable, scalable, and easy to use open-source relational database system. MariaDB Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software. Highly available MariaDB cluster.
home: https://mariadb.org
icon: https://bitnami.com/assets/stacks/mariadb/img/mariadb-stack-220x234.png
keywords:
- mariadb
- mysql
- database
- sql
- prometheus
name: mariadb
sources:
- https://github.com/bitnami/bitnami-docker-mariadb
- https://github.com/prometheus/mysqld_exporter
version: 7.3.14
-- Kamol Hasan
Source: StackOverflow