This is a Helm chart packaging ARLAS-subscriptions.
It comprises 3 components:
- arlas-subscriptions-manager
- arlas-subscriptions-matcher
- arlas-subscriptions-server (an instance of ARLAS-server)
The Helm chart deploys a Kubernetes service for the manager, so that its API can be used.
This Helm chart has been tested with:
- Helm 2.12
- Kubernetes 1.12
ARLAS-subscriptions relies on an Elasticsearch index for subscriptions. The chart can take care of initializing the index, if you explicitly set manager.init.elasticsearchIndex.enabled: true
. If you want to manage the index on your own, you have to create it prior to installing the chart. Then, upon installation you should pass the following values:
elasticsearch.index
: name of the indexelasticsearch.mappingType.name
: name of the index's mapping type
When installing the chart, here are the configuration values you can parameter:
Value | Type | Required | Default | Description |
---|---|---|---|---|
elasticsearch.endpoints.http |
sequence | required if either manager.init.elasticsearchIndex.enabled or matcher.init.serverCollection.enabled |
HTTP endpoints for the Elasticsearch cluster the components are going to connect to, under the form <host>:<port> |
|
elasticsearch.endpoints.transport |
sequence | required | Transport endpoints for the Elasticsearch cluster the components are going to connect to, under the form <host>:<port> |
|
elasticsearch.index |
string | subs |
Elasticsearch index for subscriptions | |
elasticsearch.mappingType.name |
string | sub |
Name of the Elasticsearch mapping type for subscriptions | |
elasticsearch.mappingType.definition |
Elasticsearch Mapping type in JSON or YAML | required if manager.init.elasticsearchIndex.enabled |
Definition of the Elasticsearch mapping type for subscriptions, see example here | |
fullnameOverride |
string | When the chart gets installed, all created Kubernetes objects are named based on the release name, for example the ARLAS subscription manager's deployment is named <release name>-arlas-sub-manager . fullnameOverride allows using something else as the base name: <fullnameOverride>-arlas-sub-manager . |
||
manager.affinity |
io.k8s.api.core.v1.Affinity | {} |
Allows assigning the Kubernetes deployment to certain Kubernetes nodes. Official docs here | |
manager.environmentVariables |
mapping | required | Allows defining environment variables for the container. Available values are documented here | |
manager.environmentVariables.MONGO_AUTH_DATABASE |
string | MongoDB database against which to authenticate | ||
manager.environmentVariables.MONGO_HOST |
string | required | See definition here | |
manager.environmentVariables.MONGO_PASSWORD |
string | Password for authentication to MongoDB | ||
manager.environmentVariables.MONGO_USERNAME |
string | Username for authentication to MongoDB | ||
manager.image.repository |
string | gisaia/arlas-subscriptions-manager |
Docker image's repository | |
manager.image.tag |
string | 24.0.1 |
Docker image's tag | |
manager.image.pullPolicy |
string | IfNotPresent |
Docker image's pull policy. See field imagePullPolicy in reference for Kubernetes object container |
|
manager.imagePullSecrets |
sequence of strings | Names of imagePullSecrets to be used by pod to pull docker images | ||
manager.init.elasticsearchIndex.container.image.pullPolicy |
string | IfNotPresent |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines image pull policy for this container. See field imagePullPolicy in reference for Kubernetes object container |
|
manager.init.elasticsearchIndex.container.image.repository |
string | centos |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines image repository for this container. | |
manager.init.elasticsearchIndex.container.image.tag |
string | 7 |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines image tag for this container. | |
manager.init.elasticsearchIndex.container.image.resources.limits.cpu |
string | 1 |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines maximum amount of CPU it is allowed to use. See documentation | |
manager.init.elasticsearchIndex.container.image.resources.limits.memory |
string | 1G |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines maximum amount of memory it is allowed to use. See documentation | |
manager.init.elasticsearchIndex.container.image.resources.requests.cpu |
string | 1 |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines the minimum amount of CPU required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
manager.init.elasticsearchIndex.container.image.resources.requests.memory |
string | 1G |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value defines the minimum amount of memory required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
manager.init.elasticsearchIndex.enabled |
boolean | false |
There is an initContainer in charge of initializing the subscriptions' index in elasticsearch. This value allows disabling/enabling it. | |
manager.nodeSelector |
io.k8s.api.core.v1.NodeSelector | {} |
Allows selecting the nodes on which the pod is to run | |
manager.resources.limits.cpu |
string | 1 |
Maximum amount of CPU the container is allowed to use. See documentation | |
manager.resources.limits.memory |
string | 4G |
Maximum amount of memory the container is allowed to use. See documentation | |
manager.resources.requests.cpu |
string | 1 |
Minimum amount of CPU required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
manager.resources.requests.memory |
string | 4G |
Minimum amount of memory required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
manager.service.type |
string | ClusterIP |
Type for the Kubernetes service, see documentation | |
manager.service.port |
integer | 80 |
Port on which the Kubernetes service will expose the component's interface | |
manager.tolerations |
sequence of io.k8s.api.core.v1.Toleration | [] |
To prevent pod from running on certain nodes. See documentation | |
manager.triggerSchema.content |
mapping | required | See example this section of the documentation | |
matcher.affinity |
io.k8s.api.core.v1.Affinity | {} |
Allows assigning the Kubernetes deployment to certain Kubernetes nodes. Official docs here | |
matcher.environmentVariables |
mapping | required | Allows defining environment variables for the container. Available values are documented here | |
manager.environmentVariables.ARLAS_SERVER_BASE_PATH |
string | required | See definition here | |
manager.environmentVariables.KAFKA_BROKERS |
string | required | See definition here | |
matcher.image.repository |
string | gisaia/arlas-subscriptions-matcher |
Docker image's repository | |
matcher.image.tag |
string | 24.0.1 |
Docker image's tag | |
matcher.image.pullPolicy |
string | IfNotPresent |
Docker image's pull policy. See field imagePullPolicy in reference for Kubernetes object container |
|
matcher.imagePullSecrets |
sequence of strings | Names of imagePullSecrets to be used by pod to pull docker images | ||
matcher.init.serverCollection.container.image.pullPolicy |
string | IfNotPresent |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines image pull policy for this container. See field imagePullPolicy in reference for Kubernetes object container |
|
matcher.init.serverCollection.container.image.repository |
string | centos |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines image repository for this container. | |
matcher.init.serverCollection.container.image.tag |
string | 7 |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines image tag for this container. | |
matcher.init.serverCollection.container.image.resources.limits.cpu |
string | 1 |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines maximum amount of CPU it is allowed to use. See documentation | |
matcher.init.serverCollection.container.image.resources.limits.memory |
string | 1G |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines maximum amount of memory it is allowed to use. See documentation | |
matcher.init.serverCollection.container.image.resources.requests.cpu |
string | 1 |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines the minimum amount of CPU required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
matcher.init.serverCollection.container.image.resources.requests.memory |
string | 1G |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value defines the minimum amount of memory required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
matcher.init.serverCollection.enabled |
boolean | true |
There is an initContainer in charge of creating the subscriptions collection in the arlas-subscriptions-server. This value allows disabling/enabling it. | |
matcher.nodeSelector |
io.k8s.api.core.v1.NodeSelector | {} |
Allows selecting the nodes on which the pod is to run | |
matcher.resources.limits.cpu |
string | 1 |
Maximum amount of CPU the container is allowed to use. See documentation | |
matcher.resources.limits.memory |
string | 4G |
Maximum amount of memory the container is allowed to use. See documentation | |
matcher.resources.requests.cpu |
string | 1 |
Minimum amount of CPU required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
matcher.resources.requests.memory |
string | 4G |
Minimum amount of memory required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
matcher.tolerations |
sequence of io.k8s.api.core.v1.Toleration | [] |
To prevent pod from running on certain nodes. See documentation | |
server.affinity |
io.k8s.api.core.v1.Affinity | {} |
Allows assigning the Kubernetes deployment to certain Kubernetes nodes. Official docs here | |
server.collection.centroidPath |
string | required | Path, in the Elasticsearch mapping type for subscription, to the field representing the centroid | |
server.collection.geometryPath |
string | required | Path, in the Elasticsearch mapping type for subscription, to the field representing the geometry | |
server.collection.idPath |
string | required | Path, in the Elasticsearch mapping type for subscription, to the field representing the id | |
server.collection.name |
string | subscriptions |
Name of the subscriptions' collection in arlas-subscriptions-server | |
server.collection.timestampPath |
string | required | Path, in the Elasticsearch mapping type for subscription, to the field representing the timestamp | |
server.environmentVariables |
mapping | Allows defining environment variables for the container. Available values are documented here | ||
server.environmentVariables.ARLAS_PREFIX |
string | /arlas/ |
See definition here | |
server.image.repository |
string | gisaia/arlas-subscriptions-server |
Docker image's repository | |
server.image.tag |
string | 24.0.1 |
Docker image's tag | |
server.image.pullPolicy |
string | IfNotPresent |
Docker image's pull policy. See field imagePullPolicy in reference for Kubernetes object container |
|
matcher.imagePullSecrets |
sequence of strings | Names of imagePullSecrets to be used by pod to pull docker images | ||
server.nodeSelector |
io.k8s.api.core.v1.NodeSelector | {} |
Allows selecting the nodes on which the pod is to run | |
server.resources.limits.cpu |
string | 1 |
Maximum amount of CPU the container is allowed to use. See documentation | |
server.resources.limits.memory |
string | 4G |
Maximum amount of memory the container is allowed to use. See documentation | |
server.resources.requests.cpu |
string | 1 |
Minimum amount of CPU required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
server.resources.requests.memory |
string | 4G |
Minimum amount of memory required on a Kubernetes node for this container to be scheduled onto it. See documentation | |
server.service.type |
string | ClusterIP |
Type for the Kubernetes service, see documentation | |
server.service.port |
integer | 9999 |
Port on which the Kubernetes service will expose the component's interface | |
server.tolerations |
sequence of io.k8s.api.core.v1.Toleration | [] |
To prevent pod from running on certain nodes. See documentation |