title | type |
---|---|
Configure Helm Broker |
Configuration |
The Helm Broker fetches bundle definitions from HTTP servers defined in the helm-repos-urls
ConfigMap.
Follow these steps to change the configuration and make the Helm Broker fetch bundles from a custom HTTP servers:
-
Create a remote repository with the definition of your bundles. Your remote bundle repository must include the following resources:
- A
yaml
file which defines available bundles, for exampleindex.yaml
. This file must have the following structure:This is an example of aapiVersion: v1 entries: {bundle_name}: - name: {bundle_name} description: {bundle_description} version: {bundle_version}
yaml
file for the Redis bundle:apiVersion: v1 entries: redis: - name: redis description: Redis service version: 0.0.1
- A
{bundle_name}-{bundle_version}.tgz
file for each bundle version defined in theyaml
file. The.tgz
file is an archive of your bundle's directory.
- A
-
Install Kyma on Minikube. See this document to learn how.
-
Create a ConfigMap which contains an URL to the repository:
kubectl create configmap my-helm-repos-urls -n kyma-system --from-literal=URLs=https://github.com/kyma-project/bundles/releases/download/latest/index-testing.yaml
NOTE: If you want to fetch bundles from many HTTP servers, use
\n
to separate the URLs.
- Label the newly created ConfigMap:
kubectl label configmap my-helm-repos-urls -n kyma-system helm-broker-repo=true
Helm Broker triggers the Service Catalog synchronization automatically. New ClusterServiceClasses appear after a few seconds.
Use the following example to create a valid ConfigMap with many URLs from the yaml
file:
apiVersion: v1
kind: ConfigMap
metadata:
name: helm-repos-configs
labels:
helm-broker-repo: "true"
data:
URLs: |-
https://github.com/kyma-project/bundles/releases/download/0.3.0/index-testing.yaml
https://github.com/kyma-project/bundles/releases/download/0.3.0/