Skip to content

Commit c8beec3

Browse files
committed
add TOC, post-install steps, rm StorageClass section, fix read command
1 parent 9359c93 commit c8beec3

File tree

2 files changed

+84
-30
lines changed

2 files changed

+84
-30
lines changed

README.md

Lines changed: 83 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,37 @@ Official helm chart for Graylog.
77
This chart is still in development. We should not distribute this chart or any part of this repository externally until we've cleaned up the git history and recieved approval for external distribution.
88
This chart is still under development and does not have locked in api contracts yet.
99

10+
11+
## Table of Contents
12+
* [Requirements](#requirements)
13+
* [Installation](#installation)
14+
* [Clone this repo](#clone-this-repo)
15+
* [Install local chart](#install-local-chart)
16+
* [Post-installation](#post-installation)
17+
* [Set root Graylog password](#set-root-graylog-password)
18+
* [Set external access](#set-external-access)
19+
* [LoadBalancer Service](#alternative-loadbalancer-service)
20+
* [Port Forwarding](#temporary-access-port-forwarding)
21+
* [Usage](#usage)
22+
* [Scale Graylog](#scale-graylog)
23+
* [Scale DataNode](#scale-datanode)
24+
* [Scale MongoDB](#scale-mongodb)
25+
* [Modify Graylog `server.conf` parameters](#modify-graylog-serverconf-parameters)
26+
* [Customize deployed Kubernetes resources](#customize-deployed-kubernetes-resources)
27+
* [Add inputs](#add-inputs)
28+
* [Enable TLS](#enable-tls)
29+
* [Bring Your Own Certificate](#bring-your-own-certificate)
30+
* [Uninstall](#uninstall)
31+
* [Removing everything](#removing-everything)
32+
* [Debugging](#debugging)
33+
* [Logging](#logging)
34+
* [Graylog Helm Chart Values Reference](#graylog-helm-chart-values-reference)
35+
* [Global](#global)
36+
* [Graylog application](#graylog-application)
37+
* [DataNode](#datanode)
38+
* [Service Account](#service-account)
39+
* [Ingress](#ingress)
40+
1041
## Requirements
1142
- Kubernetes v1.32
1243

@@ -33,28 +64,51 @@ git clone git@github.com:Graylog2/graylog-helm.git
3364
cd graylog-helm
3465
```
3566

36-
### Set default StorageClass
37-
***If your cluster already has a default `storageclass` you can skip this step.***
38-
39-
If not, you're unsure, or you don't want to affect cluster-wide settings, set the default `storageclass` for this Chart at runtime by passing `--set global.defaultStorageClass="my-sc"` to your `helm install` command. Or by adding the following lines to `values-custom.yaml`:
40-
```
41-
global:
42-
defaultStorageClass: "my-sc"
67+
### Install local chart
68+
```sh
69+
helm install graylog ./graylog --namespace graylog --create-namespace
4370
```
4471

45-
Just be sure to pass `-f values-custom.yaml` to your `helm install` command below!
72+
🏁 That's it!
73+
74+
## Post Installation
4675

4776
### Set Root Graylog Password
77+
Graylog is installed with a simple password by default. This **MUST be changed** once all pods achieve the `RUNNING` state using
78+
the following command:
79+
4880
```sh
49-
read -sp "Enter your new password and press return: " pass
81+
echo "Enter your new password and press return:" && read -s pass
82+
helm upgrade graylog ./graylog --namespace graylog --reuse-values --set "graylog.config.rootPassword=$pass"; unset pass
5083
```
5184

52-
### Install local chart
85+
### Set External Access
86+
87+
There are a number of ways to enable external access to the Graylog application. We recommend using an
88+
[Ingress Controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/)
89+
to provide external access both the Graylog UI and the Graylog API, as well as any configured inputs.
90+
91+
Once an Ingress Controller has been installed and configured, run the following command to provision the appropriate
92+
[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resource:
93+
5394
```sh
54-
helm install graylog ./graylog --namespace graylog --create-namespace --set "graylog.config.rootPassword=$pass"
95+
helm upgrade graylog ./graylog -n graylog --set ingress.web.enabled="true" --reuse-values
5596
```
5697

57-
🏁 That's it!
98+
#### Alternative: LoadBalancer Service
99+
Alternatively, external access can be configured directly through the provided service without the need for any
100+
pre-existing dependencies.
101+
102+
```sh
103+
helm upgrade graylog ./graylog -n graylog --set graylog.custom.service.type="LoadBalancer" --reuse-values
104+
```
105+
106+
#### Temporary access: Port Forwarding
107+
Finally, if you wish to enable external access _temporarily_, you can always use port forwarding:
108+
109+
```sh
110+
kubectl port-forward service/graylog-svc 9000:9000 -n graylog
111+
```
58112

59113
## Usage
60114

@@ -67,9 +121,9 @@ helm upgrade graylog ./graylog -n graylog --set graylog.replicas=3 --reuse-value
67121
helm upgrade graylog ./graylog -n graylog --set graylog.replicas=1 --reuse-values
68122
```
69123

70-
### Scale Datanode
124+
### Scale DataNode
71125
```sh
72-
# scaling out: add more Graylog Datanodes to your cluster
126+
# scaling out: add more Graylog Data Nodes to your cluster
73127
helm upgrade graylog ./graylog -n graylog --set datanode.replicas=5 --reuse-values
74128
```
75129

@@ -150,7 +204,7 @@ You can retrieve this information like this:
150204
kubectl get svc graylog-svc -n graylog
151205
```
152206

153-
## Bring Your Own Certificate
207+
#### Bring Your Own Certificate
154208

155209
If you already have a TLS certificate-key pair, you can create a Kubernetes secret to store them:
156210
```sh
@@ -162,7 +216,7 @@ Enable TLS for your Graylog installation, referencing the Kubernetes secret:
162216
helm upgrade graylog ./graylog -n graylog --reuse-values --set graylog.config.tls.byoc.enabled=true --set graylog.config.tls.byoc.secretName="my-cert"
163217
```
164218

165-
### Uninstall
219+
## Uninstall
166220
```sh
167221
# optional: scale Graylog down to zero
168222
kubectl scale sts graylog -n graylog --replicas 0 && kubectl wait --for=delete pod graylog-0 -n graylog
@@ -171,23 +225,23 @@ kubectl scale sts graylog -n graylog --replicas 0 && kubectl wait --for=delete
171225
helm uninstall graylog -n graylog
172226
```
173227

174-
#### Removing Everything
228+
### Removing Everything
175229
```sh
176230
# CAUTION: this will delete ALL your data!
177231
kubectl delete $(kubectl get pvc -o name -n graylog; kubectl get secret -o name -n graylog) -n graylog
178232
```
179233

180-
### Debugging
234+
## Debugging
181235
Get a YAML output of the values being submitted.
182236
```bash
183237
helm template graylog graylog -f graylog/values-glc.yaml | yq
184238
```
185239

186-
### Logging
240+
## Logging
187241
```
188242
# Graylog app logs
189243
stern statefulset/graylog-app -n graylog-helm-dev-1
190-
# Datanode logs
244+
# DataNode logs
191245
stern statefulset/graylog-datanode -n graylog-helm-dev-1
192246
```
193247
@@ -200,7 +254,7 @@ stern statefulset/graylog-datanode -n graylog-helm-dev-1
200254
| `fullnameOverride` | Override the fully qualified name of the application. | `""` |
201255
202256
### Global
203-
These values affect Graylog, Datanode, and MongoDB
257+
These values affect Graylog, DataNode, and MongoDB
204258
205259
| Key Path | Description | Default |
206260
|------------------------------| ------------------------------------------- |---------|
@@ -244,20 +298,20 @@ These values affect Graylog, Datanode, and MongoDB
244298
| `graylog.custom.service.ports.inputGelfHttp` | GELF HTTP input port. | `12201` |
245299
246300
247-
### Datanode
301+
### DataNode
248302
| Key Path | Description | Default |
249303
|--------------------------------------------------------|-------------------------------------------------|-------------------|
250-
| `datanode.enabled` | Enable Graylog datanode. | `true` |
251-
| `datanode.replicas` | Number of datanode replicas. | `3` |
252-
| `datanode.config.nodeIdFile` | Path to datanode ID file. | `""` |
304+
| `datanode.enabled` | Enable Graylog Data Node. | `true` |
305+
| `datanode.replicas` | Number of DataNode replicas. | `3` |
306+
| `datanode.config.nodeIdFile` | Path to DataNode ID file. | `""` |
253307
| `datanode.config.opensearchHeap` | OpenSearch heap size. | `"2g"` |
254-
| `datanode.config.javaOpts` | Java options for datanode. | `"-Xms1g -Xmx1g"` |
308+
| `datanode.config.javaOpts` | Java options for DataNode. | `"-Xms1g -Xmx1g"` |
255309
| `datanode.config.skipPreflightChecks` | Skip startup checks. | `"false"` |
256310
| `datanode.config.nodeSearchCacheSize` | Size of search cache. | `"10gb"` |
257311
| `datanode.custom.podAnnotations` | Additional pod annotations. | `{}` |
258-
| `datanode.custom.nodeSelector` | Node selector for datanode. | `{}` |
259-
| `datanode.custom.image.repository` | Datanode image repository. | `""` |
260-
| `datanode.custom.image.tag` | Datanode image tag. | `""` |
312+
| `datanode.custom.nodeSelector` | Node selector for DataNode. | `{}` |
313+
| `datanode.custom.image.repository` | DataNode image repository. | `""` |
314+
| `datanode.custom.image.tag` | DataNode image tag. | `""` |
261315
| `datanode.custom.image.imagePullPolicy` | Image pull policy. | `IfNotPresent` |
262316
| `datanode.custom.image.imagePullSecrets` | Image pull secrets. | `[]` |
263317
| `datanode.updateStrategy.type` | Pod update strategy for StatefulSet. | `"RollingUpdate"` |

graylog/templates/NOTES.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Welcome to Graylog!
4848

4949
· WARNING: You are still using the default password {{ include "graylog.rootPassword" . | quote }}. This MUST be changed IMMEDIATELY using the following command:
5050

51-
read -sp "Enter your new password and press return: " i && helm upgrade {{ .Release.Name }} ./graylog --namespace {{ .Release.Namespace }} --reuse-values --set "graylog.config.rootPassword=$i"
51+
echo "Enter your new password and press return:" && read -s pass && helm upgrade {{ .Release.Name }} ./graylog --namespace {{ .Release.Namespace }} --reuse-values --set "graylog.config.rootPassword=$pass"; unset pass
5252
{{- end }}
5353

5454
· Use the following command to print this status page again:

0 commit comments

Comments
 (0)