Skip to content

Commit 65bfeb9

Browse files
authored
Use Helm-docs (#77)
* Use Helm Charts * test multiline * default * Naive edition of values for basic descriptions * First iteration for helm-docs * re-run helm-docs * more docs * more docs * Alter error message * help running * lint * link * missing file * full text link * add ingress example * update contributing docs * Bump chart * update docs
1 parent 5730715 commit 65bfeb9

10 files changed

Lines changed: 287 additions & 33 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
image:
2+
# -- Repository to use for the application.
3+
# You will need to retrieve the image from the Linkurious Customer Center and load it into your private repository
4+
repository: ""
5+
6+
configOverlayEnabled: false
7+
metrics:
8+
prometheus:
9+
enabled: false
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
image:
2+
# -- Repository to use for the application.
3+
# You will need to retrieve the image from the Linkurious Customer Center and load it into your private repository
4+
repository: ""
5+
6+
## -- hostPostfix is used to generate hosts and urls using the target namespace.
7+
hostPostfix: example.domain
8+
ingress:
9+
enabled: true
10+
tls: []
11+
# - secretName: wildcard-default-cert
12+
# hosts:
13+
# - chart-example.local
14+
15+
configOverlayEnabled: true
16+
config:
17+
forcePublicHttps: false
18+
19+
metrics:
20+
prometheus:
21+
enabled: false

charts/linkurious-enterprise/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 0.2.35
18+
version: 0.2.36
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
Lines changed: 162 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,165 @@
1-
# Linkurious Enterprise Helm chart
1+
# linkurious-enterprise
2+
3+
![Version: 0.2.36](https://img.shields.io/badge/Version-0.2.36-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.10.18](https://img.shields.io/badge/AppVersion-2.10.18-informational?style=flat-square)
4+
5+
A Helm chart for Linkurious Enterprise
6+
7+
**Homepage:** <https://linkurio.us>
8+
9+
## Maintainers
10+
11+
| Name | Email | Url |
12+
| ---- | ------ | --- |
13+
| enys | | |
14+
15+
## Source Code
16+
17+
* <https://github.com/Linkurious/docker-lke>
218

319
## Installing the Chart
4-
To install the chart with the release name `lke`:
20+
21+
To install the chart with the release name `my-release`:
22+
23+
You will need to clone this repository and build the chart.
24+
25+
```console
26+
git clone https://github.com/Linkurious/docker-lke && cd docker-lke
27+
helm package charts/linkurious-enterprise
28+
```
29+
30+
To install a very basic version of Linkurious enterprise, please set your private registry in the [chart-value-examples/basic/values.yaml](../../chart-value-examples/basic/values.yaml)
31+
and then run:
32+
533
```console
6-
Be sure to have cloned this repository
7-
$ helm upgrade --install -n preview lke charts/linkurious-enterprise/
8-
NAME: lke
9-
...
10-
```
34+
helm upgrade --install my-release linkurious-enterprise-0.2.36.tgz -f chart-value-examples/basic/values.yaml
35+
```
36+
37+
## Values
38+
39+
| Key | Type | Default | Description |
40+
|-----|------|---------|-------------|
41+
| affinity | object | `{}` | |
42+
| autoscaling.enabled | bool | `false` | Enable Horizontal Pod Autoscaler ([HPA]) for Linkurious server (not recommended) |
43+
| autoscaling.maxReplicas | int | `2` | Maximum number of replicas for Linkurious server [HPA] |
44+
| autoscaling.minReplicas | int | `1` | Minimum number of replicas for Linkurious server [HPA] |
45+
| autoscaling.targetCPUUtilizationPercentage | int | `80` | Average CPU utilization percentage for Linkurious server [HPA] |
46+
| backup.litestream.config | string | `"---\n# https://litestream.io/reference/config/\ndbs:\n - path: /data/server/database.sqlite\n replicas:\n - url: s3://BUCKETNAME/PATHNAME\n retention: 720h\n snapshot-interval: 24h\n"` | |
47+
| backup.litestream.enabled | bool | `false` | |
48+
| backup.litestream.image | string | `"litestream/litestream:0.3.13"` | |
49+
| backup.litestream.livenessProbe.exec.command[0] | string | `"litestream"` | |
50+
| backup.litestream.livenessProbe.exec.command[1] | string | `"snapshots"` | |
51+
| backup.litestream.livenessProbe.exec.command[2] | string | `"/data/server/database.sqlite"` | |
52+
| backup.litestream.livenessProbe.failureThreshold | int | `3` | |
53+
| backup.litestream.livenessProbe.initialDelaySeconds | int | `5` | |
54+
| backup.litestream.livenessProbe.periodSeconds | int | `15` | |
55+
| backup.litestream.livenessProbe.timeoutSeconds | int | `5` | |
56+
| backup.litestream.readinessProbe.exec.command[0] | string | `"litestream"` | |
57+
| backup.litestream.readinessProbe.exec.command[1] | string | `"snapshots"` | |
58+
| backup.litestream.readinessProbe.exec.command[2] | string | `"/data/server/database.sqlite"` | |
59+
| backup.litestream.readinessProbe.failureThreshold | int | `3` | |
60+
| backup.litestream.readinessProbe.initialDelaySeconds | int | `5` | |
61+
| backup.litestream.readinessProbe.periodSeconds | int | `15` | |
62+
| backup.litestream.readinessProbe.timeoutSeconds | int | `5` | |
63+
| backup.litestream.resources | object | `{}` | |
64+
| backup.litestream.secretRef.name | string | `"litestream-lke-secret"` | |
65+
| backup.velero.enabled | bool | `false` | |
66+
| config.access.authRequired | string | `"$ENV:LKE_AUTH_REQUIRED"` | |
67+
| config.access.autoRefreshGroupMapping | string | `"$ENV-JSON:LKE_OAUTH2_AUTO_REFRESH_GROUP_MAPPING"` | |
68+
| config.access.oauth2.authorizationURL | string | `"$ENV:LKE_OAUTH2_AUTHORIZATION_URL"` | |
69+
| config.access.oauth2.azure.tenantID | string | `"$ENV:LKE_OAUTH2_AZURE_TENANT_ID"` | |
70+
| config.access.oauth2.clientID | string | `"$ENV:LKE_OAUTH2_CLIENT_ID"` | |
71+
| config.access.oauth2.clientSecret | string | `"$ENV:LKE_OAUTH2_CLIENT_SECRET"` | |
72+
| config.access.oauth2.enabled | string | `"$ENV-JSON:LKE_OAUTH2_ENABLED"` | |
73+
| config.access.oauth2.provider | string | `"$ENV:LKE_OAUTH2_PROVIDER"` | |
74+
| config.access.oauth2.tokenURL | string | `"$ENV:LKE_OAUTH2_TOKEN_URL"` | |
75+
| config.db.options.dialect | string | `"sqlite"` | Run Linkurious Enterprise with SQLite |
76+
| config.db.options.storage | string | `"server/database.sqlite"` | |
77+
| config.server.allowFraming | bool | `false` | |
78+
| config.server.allowOrigin | string | `"$ENV:LKE_ALLOW_ORIGIN"` | |
79+
| config.server.cookieHttpOnly | bool | `true` | |
80+
| config.server.domain | string | `"$ENV:LKE_PUBLIC_DOMAIN"` | |
81+
| config.server.forceHttps | bool | `false` | |
82+
| config.server.forcePublicHttps | string | `"$ENV-JSON:LKE_FORCE_PUBLIC_HTTPS"` | |
83+
| config.server.publicPortHttps | string | `"$ENV-NUMBER:LKE_PUBLIC_PORT_HTTPS"` | |
84+
| config.server.useHttps | bool | `false` | |
85+
| config.version | string | `"2.10.18"` | |
86+
| configOverlayEnabled | bool | `true` | Manage LKE configmap (Declarative Setup) # Ref: https://doc.linkurio.us/admin-manual/latest/configure/#variable-expansion |
87+
| env | list | `[]` | Environment variables to pass to Linkurious server |
88+
| envFrom | list | `[]` | envFrom to pass to Linkurious server |
89+
| fullnameOverride | string | `""` | |
90+
| hostAliases | list | `[]` | |
91+
| hostPostfix | string | `"example.domain"` | |
92+
| hostPrefixOverride | string | `"linkurious-enterprise"` | |
93+
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for Linkurious server, can be one of Always, IfNotPresent, Never |
94+
| image.repository | string | `""` | Repository to use for the application. You will need to retrieve the image from the Linkurious Customer Center and load it into your private repository |
95+
| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
96+
| imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry. Secrets must be manually created in the namespace. ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ |
97+
| ingress.annotations | object | `{}` | Additional ingress annotations |
98+
| ingress.className | string | `""` | Defines which ingress controller will implement the resource |
99+
| ingress.enabled | bool | `false` | Enable an ingress resource for the Linkurious Enterprise server |
100+
| ingress.hosts[0].paths[0].path | string | `"/"` | |
101+
| ingress.hosts[0].paths[0].pathType | string | `"ImplementationSpecific"` | |
102+
| ingress.labels | object | `{}` | Additional ingress labels |
103+
| ingress.tls[0].secretName | string | `"wildcard-default-cert"` | |
104+
| ipWhiteList | object | `{}` | |
105+
| livenessProbe.enabled | bool | `true` | Enable Kubernetes liveness probe for server |
106+
| livenessProbe.failureThreshold | int | `3` | |
107+
| livenessProbe.initialDelaySeconds | int | `10` | |
108+
| livenessProbe.path | string | `"/api/status/"` | Http path for the liveness probe (templated) |
109+
| livenessProbe.periodSeconds | int | `10` | |
110+
| livenessProbe.successThreshold | int | `1` | |
111+
| livenessProbe.timeoutSeconds | int | `1` | |
112+
| metrics.prometheus.disableAPICheck | bool | `true` | |
113+
| metrics.prometheus.enabled | bool | `true` | Deploy metrics service and service monitor |
114+
| metrics.prometheus.entryPoint | string | `"metrics"` | Entry point used to expose metrics. |
115+
| metrics.prometheus.serviceMonitor.additionalLabels.release | string | `"kube-prometheus-stack"` | |
116+
| metrics.prometheus.serviceMonitor.honorLabels | bool | `true` | |
117+
| metrics.prometheus.serviceMonitor.interval | string | `"30s"` | |
118+
| metrics.prometheus.serviceMonitor.jobLabel | string | `"linkurious-enterprise"` | |
119+
| nameOverride | string | `""` | |
120+
| nodeSelector | object | `{}` | |
121+
| offlineMaintenanceModeEnabled | bool | `false` | set offlineMaintenanceModeEnabled: true to restart the StatefulSet without the linkurious-enterprise process running this can be used to perform tasks that cannot be performed when Neo4j is running, or in case the configuration is broken |
122+
| persistentVolume.accessModes[0] | string | `"ReadWriteOnce"` | |
123+
| persistentVolume.annotations | object | `{}` | |
124+
| persistentVolume.enabled | bool | `false` | Enable persistent volume for Linkurious server |
125+
| persistentVolume.size | string | `"5Gi"` | |
126+
| podAnnotations | object | `{}` | |
127+
| podSecurityContext.fsGroup | int | `2000` | |
128+
| podSecurityContext.runAsNonRoot | bool | `true` | |
129+
| podSecurityContext.runAsUser | int | `2013` | |
130+
| podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | |
131+
| readinessProbe.enabled | bool | `true` | Enable Kubernetes readiness probe for server |
132+
| readinessProbe.failureThreshold | int | `3` | |
133+
| readinessProbe.initialDelaySeconds | int | `10` | |
134+
| readinessProbe.path | string | `"/api/status/"` | Http path for the readiness probe (templated) |
135+
| readinessProbe.periodSeconds | int | `10` | |
136+
| readinessProbe.successThreshold | int | `1` | |
137+
| readinessProbe.timeoutSeconds | int | `1` | |
138+
| replicaCount | int | `1` | |
139+
| resources | object | `{}` | |
140+
| securityContext.allowPrivilegeEscalation | bool | `false` | |
141+
| securityContext.capabilities.drop[0] | string | `"ALL"` | |
142+
| service | object | `{"metricsPort":9400,"port":80,"type":"ClusterIP"}` | Existing secret to use for license licenseFromSecret: '{{ printf "%s-lke-license-secret" .Release.Name }}' |
143+
| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
144+
| serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
145+
| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
146+
| tolerations | list | `[]` | |
147+
148+
----------------------------------------------
149+
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
150+
151+
## Contributing
152+
153+
### Documentation
154+
155+
The documentation for each chart is generated with [helm-docs](https://github.com/norwoodj/helm-docs). This way we can ensure that values are consistent with the chart documentation.
156+
157+
### Chart Versioning
158+
159+
Currently we require a chart version bump for every change to a chart, including updating information for older versions. This may change in the future.
160+
161+
### Testing Charts
162+
163+
As part of the Continuous Integration system we run Helm's [Chart Testing](https://github.com/helm/chart-testing) tool.
164+
165+
The checks for Chart Testing are stricter than the standard Helm requirements. For example, fields normally considered optional like `maintainer` are required in the standard spec and must be valid GitHub usernames.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{{ template "chart.header" . }}
2+
{{ template "chart.deprecationWarning" . }}
3+
4+
{{ template "chart.badgesSection" . }}
5+
6+
{{ template "chart.description" . }}
7+
8+
{{ template "chart.homepageLine" . }}
9+
10+
{{ template "chart.maintainersSection" . }}
11+
12+
{{ template "chart.sourcesSection" . }}
13+
14+
## Installing the Chart
15+
16+
To install the chart with the release name `my-release`:
17+
18+
You will need to clone this repository and build the chart.
19+
20+
```console
21+
git clone https://github.com/Linkurious/docker-lke && cd docker-lke
22+
helm package charts/linkurious-enterprise
23+
```
24+
25+
To install a very basic version of Linkurious enterprise, please set your private registry in the [chart-value-examples/basic/values.yaml](../../chart-value-examples/basic/values.yaml)
26+
and then run:
27+
28+
```console
29+
helm upgrade --install my-release {{ template "chart.name" . }}-{{ template "chart.version" . }}.tgz -f chart-value-examples/basic/values.yaml
30+
```
31+
32+
{{ template "chart.requirementsSection" . }}
33+
34+
{{ template "chart.valuesSection" . }}
35+
36+
{{ template "helm-docs.versionFooter" . }}
37+
38+
## Contributing
39+
40+
### Documentation
41+
42+
The documentation for each chart is generated with [helm-docs](https://github.com/norwoodj/helm-docs). This way we can ensure that values are consistent with the chart documentation.
43+
44+
### Chart Versioning
45+
46+
Currently we require a chart version bump for every change to a chart, including updating information for older versions. This may change in the future.
47+
48+
### Testing Charts
49+
50+
As part of the Continuous Integration system we run Helm's [Chart Testing](https://github.com/helm/chart-testing) tool.
51+
52+
The checks for Chart Testing are stricter than the standard Helm requirements. For example, fields normally considered optional like `maintainer` are required in the standard spec and must be valid GitHub usernames.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../chart-value-examples/basic/values.yaml
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# test with charts default values
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../chart-value-examples/ingress/values.yaml

charts/linkurious-enterprise/templates/service-monitor.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{{- if .Values.metrics.prometheus.serviceMonitor }}
33
{{- if (not (.Capabilities.APIVersions.Has "monitoring.coreos.com/v1")) }}
44
{{- if (not (.Values.metrics.prometheus.disableAPICheck)) }}
5-
{{- fail "ERROR: You have to deploy monitoring.coreos.com/v1 first" }}
5+
{{- fail "ERROR: You have to deploy monitoring.coreos.com/v1 first or disable prometheus" }}
66
{{- end }}
77
{{- end }}
88
apiVersion: monitoring.coreos.com/v1

0 commit comments

Comments
 (0)