Add Helm Chart (#454)
This commit is contained in:
81
helm/opengist/README.md
Normal file
81
helm/opengist/README.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Opengist Helm Chart
|
||||
|
||||
 
|
||||
|
||||
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: <name of the secret>
|
||||
```
|
||||
|
||||
## 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.
|
||||
Reference in New Issue
Block a user