Skip to content

Commit 2a3f963

Browse files
authored
Merge pull request #402 from nebari-dev/vini-helm-extensions
Add docs for `helm_extension` mechanism
2 parents 2656ab7 + 5c05daf commit 2a3f963

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

docs/docs/explanations/advanced-custom-settings.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ One way to achieve this is by creating a Virtual Machine (VM) inside the virtual
276276
Select the virtual network and subnet name under the networking settings of your cloud provider while creating the VM
277277
and then follow the usual deployment instructions as you would deploy from your local machine.
278278

279+
=======
279280
#### Conda store worker
280281

281282
You can use the following settings to change the defaults settings (shown) used for Conda store workers.
@@ -292,3 +293,55 @@ conda_store:
292293
:::note Note
293294
Current `conda_store.worker_resources` defaults are set at the minimum recommended resources for conda-store-workers - (conda-store [docs](https://conda.store/conda-store/references/faq#what-are-the-resource-requirements-for-conda-store-server))
294295
:::
296+
297+
## Helm Extensions
298+
299+
Nebari provides a way for any user to expand the infrastructure available by default by using the `helm_extensions` attribute. This attribute allows for the management and customization of Kubernetes applications through Helm charts. The helm_extensions is a configuration construct that specifies a list of Helm charts and their respective settings.
300+
301+
### Overview
302+
303+
Each entry in the `helm_extensions` list represents a single Helm chart configuration, allowing you to define the chart source, version, and specific overrides or settings for that chart. When Nebari is deployed, it will install the specified Helm charts using the provided settings.
304+
305+
### Structure
306+
307+
Each entry in the helm_extensions list contains the following fields:
308+
309+
- `name`: A unique identifier for the Helm chart. It will also be used as the name of the Kubernetes deployment related resources.
310+
- `repository`: The URL of the repository where the Helm chart is stored. Must be a valid Helm repository URL.
311+
- `chart`: The name or path of the chart within the repository. must be compliant with the Helm chart naming conventions.
312+
- `version`: The specific version of the chart to be used.
313+
- `overrides`: Specific configurations to override default chart values.
314+
315+
:::note Note
316+
The `overrides` field is optional. If not specified, the default values for the chart will be used.
317+
:::
318+
319+
### Example
320+
321+
Below we give an example showcasing how to install Redis using helm_extensions:
322+
323+
```yaml
324+
helm_extensions:
325+
- name: redis-deployment
326+
repository: https://charts.bitnami.com/bitnami
327+
chart: redis
328+
version: 17.7.5
329+
overrides:
330+
architecture: standalone
331+
master:
332+
containerSecurityContext:
333+
runAsUser: 0
334+
persistence:
335+
enabled: true
336+
path: /redis/data
337+
subPath: redis/data
338+
existingClaim: <existing-claim-name-is-required>
339+
replica:
340+
persistence:
341+
enabled: false
342+
replicaCount: 0
343+
```
344+
345+
:::warning Warning
346+
In the above example, we are assuming the current nebari kubernetes cluster already has an appropriate storage class and persistent volume claim (PVC) created. If not, you will need to create a storage class and PVC before deploying the helm chart.
347+
:::

0 commit comments

Comments
 (0)