# Opengist Helm Chart ![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![AppVersion: 1.10.0](https://img.shields.io/badge/AppVersion-1.10.0-informational?style=flat-square) Opengist Helm chart for Kubernetes. * [Install](#install) * [Configuration](#configuration) * [Dependencies](#dependencies) * [Meilisearch Indexer](#meilisearch-indexer) * [PostgreSQL Database](#postgresql-database) ## Install ```bash helm repo add opengist https://helm.opengist.io helm install opengist opengist/opengist ``` ## Configuration This part explains how to configure the Opengist instance using the Helm chart. The `config.yml` file used by Opengist is mounted from a Kubernetes Secret with a key `config.yml` and the values formatted as YAML. ### Using values Using Helm values, you can define the values from a key name `config` ```yaml config: log-level: "warn" log-output: "stdout" ``` This will create a Kubernetes secret named `opengist` mounted to the pod as a file with the YAML content of the secret, used by Opengist. ### Using an existing secret If you wish to not store sensitive data in your Helm values, you can create a Kubernetes secret with a key `config.yml` and values formatted as YAML. You can then reference this secret in the Helm chart with the `configExistingSecret` key. If defined, this existing secret will be used instead of creating a new one. ```yaml configExistingSecret: ``` ## Dependencies ### Meilisearch Indexer By default, Opengist uses the `bleve` indexer. **It is NOT available** if there is multiple replicas of the opengist pod (only one pod can open the index at the same time). Instead, for multiple replicas setups, you **MUST** use the `meilisearch` indexer. By setting `meilisearch.enabled: true`, the [Meilisearch chart](https://github.com/meilisearch/meilisearch-kubernetes) will be deployed aswell. You must define the `meilisearch.host` (Kubernetes Service) and `meilisearch.key` (value created by Meilisearch) values to connect to the Meilisearch instance in your Opengist config : ```yaml index: meilisearch index.meili.host: http://opengist-meilisearch:7700 # pointing to the K8S Service index.meili.api-key: MASTER_KEY # generated by Meilisearch ``` If you want to use the `bleve` indexer, you need to set the `replicas` to `1`. ### PostgreSQL Database By default, Opengist uses the `sqlite` database. If needed, this chart also deploys a PostgreSQL instance. By setting `postgresql.enabled: true`, the [Bitnami PostgreSQL chart](https://github.com/bitnami/charts/tree/main/bitnami/postgresql) will be deployed aswell. You must define the `postgresql.host`, `postgresql.port`, `postgresql.database`, `postgresql.username` and `postgresql.password` values to connect to the PostgreSQL instance. Then define the connection string in your Opengist config: ```yaml db-uri: postgres://user:password@opengist-postgresql:5432/opengist ``` Note: `opengist-postgresql` is the name of the K8S Service deployed by this chart.