Skip to content

Commit 9359c93

Browse files
authored
Data Lake configuration (#11)
* Adding data-warehouse configuration options to the datanode statefulset and graylog secret
1 parent 502a190 commit 9359c93

File tree

7 files changed

+75
-144
lines changed

7 files changed

+75
-144
lines changed

examples/graylog-secret.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Example Graylog Secret
2+
# If you wish to generate your own graylog-secret the following keys are required. All values should
3+
# be base64 encoded before applying to your cluster. Then supply the secret name as
4+
# global.existingSecretName: ""
5+
#
6+
apiVersion: v1
7+
kind: Secret
8+
type: Opaque
9+
metadata:
10+
name: graylog-secret-example
11+
data:
12+
# Mongo DB URI with valid credentials and location of the Mongo cluster
13+
GRAYLOG_MONGODB_URI: mongodb://admin:password@somewhere.local:27017/graylog_2?authSource=admin
14+
# Graylog admin user name
15+
GRAYLOG_ROOT_USERNAME: "some-user"
16+
# Graylog admin user's password
17+
GRAYLOG_PASSWORD_SECRET: "my-password"
18+
# Graylog admin user's password SHA2 value. To get this value, see step 4 of
19+
# https://go2docs.graylog.org/current/downloading_and_installing_graylog/docker_installation.htm
20+
GRAYLOG_ROOT_PASSWORD_SHA2: 6fa2288c361becce3e30ba4c41be7d8ba01e3580566f7acc76a7f99994474c46

examples/values-example-aws.yaml

Lines changed: 32 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#
44
# ALB Ingress Controller: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v1.1/
55
# External DNS: https://kubernetes-sigs.github.io/external-dns/latest/docs/tutorials/aws/
6-
# GP3 Storage:
76
#
87

98
graylog:
@@ -16,8 +15,6 @@ graylog:
1615
enabled: true
1716
storageClass: "gp3"
1817
size: 5Gi
19-
podAnnotations:
20-
karpenter.sh/do-not-disrupt: "true"
2118
inputs:
2219
- port: 12201
2320
targetPort: 12201
@@ -38,74 +35,35 @@ datanode:
3835
karpenter.sh/do-not-disrupt: "true"
3936

4037
ingress:
41-
enabled: true
42-
className: "alb"
43-
annotations:
44-
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:000000000000:certificate/00000000-0000-0000-0000-000000000000
45-
alb.ingress.kubernetes.io/group.name: some-graylog
46-
alb.ingress.kubernetes.io/healthcheck-interval-seconds: "5"
47-
alb.ingress.kubernetes.io/healthcheck-path: /
48-
alb.ingress.kubernetes.io/healthcheck-port: "9000"
49-
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
50-
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: "2"
51-
alb.ingress.kubernetes.io/healthy-threshold-count: "2"
52-
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
53-
alb.ingress.kubernetes.io/load-balancer-attributes: "deletion_protection.enabled=false"
54-
alb.ingress.kubernetes.io/scheme: internet-facing
55-
alb.ingress.kubernetes.io/security-groups: sg-00000000000000000,sg-00000000000000001,sg-00000000000000002,sg-000000000000000003
56-
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06
57-
alb.ingress.kubernetes.io/ssl-redirect: "443"
58-
alb.ingress.kubernetes.io/success-codes: "200"
59-
alb.ingress.kubernetes.io/target-type: ip
60-
alb.ingress.kubernetes.io/unhealthy-threshold-count: "2"
61-
external-dns.alpha.kubernetes.io/hostname: some-graylog.example.com
62-
hosts:
63-
- host: some-graylog.example.com
64-
paths:
65-
- path: /
66-
pathType: Prefix
67-
backend:
68-
service:
69-
name: graylog-app
70-
port:
71-
name: app
72-
73-
74-
75-
# GLC Values
76-
# -- NOT PUBLIC --
77-
78-
79-
ingress:
80-
enabled: true
81-
className: "alb"
82-
annotations:
83-
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:446604966667:certificate/1f6c138c-9715-4d3a-920d-a3778610a845
84-
alb.ingress.kubernetes.io/group.name: helm-graylog-2
85-
alb.ingress.kubernetes.io/healthcheck-interval-seconds: "5"
86-
alb.ingress.kubernetes.io/healthcheck-path: /
87-
alb.ingress.kubernetes.io/healthcheck-port: "9000"
88-
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
89-
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: "2"
90-
alb.ingress.kubernetes.io/healthy-threshold-count: "2"
91-
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
92-
alb.ingress.kubernetes.io/load-balancer-attributes: "deletion_protection.enabled=false"
93-
alb.ingress.kubernetes.io/scheme: internet-facing
94-
alb.ingress.kubernetes.io/security-groups: sg-05b42e0c22b938a38,sg-0d54f3c5e52d08a73,sg-0600c2f5354ca87dc,sg-044bf3d08385a571a
95-
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06
96-
alb.ingress.kubernetes.io/ssl-redirect: "443"
97-
alb.ingress.kubernetes.io/success-codes: "200"
98-
alb.ingress.kubernetes.io/target-type: ip
99-
alb.ingress.kubernetes.io/unhealthy-threshold-count: "2"
100-
external-dns.alpha.kubernetes.io/hostname: helm-graylog-2.dev.graylog.cloud
101-
hosts:
102-
- host: helm-2.dev.graylog.cloud
103-
paths:
104-
- path: /
105-
pathType: Prefix
106-
backend:
107-
service:
108-
name: graylog-app
109-
port:
110-
name: app
111-
# -- NOT PUBLIC --
38+
web:
39+
enabled: true
40+
className: "alb"
41+
annotations:
42+
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-east-1:000000000000:certificate/00000000-0000-0000-0000-000000000000
43+
alb.ingress.kubernetes.io/group.name: some-graylog
44+
alb.ingress.kubernetes.io/healthcheck-interval-seconds: "5"
45+
alb.ingress.kubernetes.io/healthcheck-path: /
46+
alb.ingress.kubernetes.io/healthcheck-port: "9000"
47+
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
48+
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: "2"
49+
alb.ingress.kubernetes.io/healthy-threshold-count: "2"
50+
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
51+
alb.ingress.kubernetes.io/load-balancer-attributes: "deletion_protection.enabled=false"
52+
alb.ingress.kubernetes.io/scheme: internet-facing
53+
alb.ingress.kubernetes.io/security-groups: sg-00000000000000000,sg-00000000000000001,sg-00000000000000002,sg-000000000000000003
54+
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06
55+
alb.ingress.kubernetes.io/ssl-redirect: "443"
56+
alb.ingress.kubernetes.io/success-codes: "200"
57+
alb.ingress.kubernetes.io/target-type: ip
58+
alb.ingress.kubernetes.io/unhealthy-threshold-count: "2"
59+
external-dns.alpha.kubernetes.io/hostname: some-graylog.example.com
60+
hosts:
61+
- host: some-graylog.example.com
62+
paths:
63+
- path: /
64+
pathType: Prefix
65+
backend:
66+
service:
67+
name: graylog-app
68+
port:
69+
name: app

examples/values-example-glc-demo.yaml

Lines changed: 0 additions & 70 deletions
This file was deleted.

graylog/templates/config/datanode.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,7 @@ data:
88
GRAYLOG_JAVA_OPTS: {{ .Values.datanode.config.javaOpts | quote }}
99
GRAYLOG_SKIP_PREFLIGHT_CHECKS: {{ .Values.datanode.config.skipPreflightChecks | quote }}
1010
GRAYLOG_NODE_SEARCH_CACHE_SIZE: {{ .Values.datanode.config.nodeSearchCacheSize | quote }}
11+
GRAYLOG_S3_CLIENT_DEFAULT_ENDPOINT: {{ .Values.datanode.config.s3ClientDefaultEndpoint | quote }}
12+
GRAYLOG_S3_CLIENT_DEFAULT_REGION: {{ .Values.datanode.config.s3ClientDefaultRegion | quote }}
13+
GRAYLOG_S3_CLIENT_DEFAULT_PROTOCOL: {{ .Values.datanode.config.s3ClientDefaultProtocol | quote }}
14+
GRAYLOG_S3_CLIENT_DEFAULT_PATH_STYLE_ACCESS: {{ .Values.datanode.config.s3ClientDefaultPathStyleAccess | quote }}

graylog/templates/config/secret/secrets.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ data:
8888
GRAYLOG_ROOT_USERNAME: {{ .Values.graylog.config.rootUsername | default "admin" | b64enc }}
8989
GRAYLOG_PASSWORD_SECRET: {{ $graylogPepper }}
9090
GRAYLOG_ROOT_PASSWORD_SHA2: {{ $graylogSha }}
91+
GRAYLOG_S3_CLIENT_DEFAULT_SECRET_KEY: {{ .Values.datanode.config.s3ClientDefaultSecretKey | quote }}
92+
GRAYLOG_S3_CLIENT_DEFAULT_ACCESS_KEY: {{ .Values.datanode.config.s3ClientDefaultAccessKey | quote }}
9193
{{- if .Values.graylog.config.tls.byoc.enabled }}
9294
GRAYLOG_HTTP_TLS_KEY_PASSWORD: {{ .Values.graylog.config.tls.byoc.keyPassword | quote }}
9395
{{- end }}

graylog/templates/workload/statefulsets/datanode.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,16 @@ spec:
7777
secretKeyRef:
7878
name: {{ include "graylog.secretsName" . }}
7979
key: GRAYLOG_MONGODB_URI
80+
- name: GRAYLOG_S3_CLIENT_DEFAULT_SECRET_KEY
81+
valueFrom:
82+
secretKeyRef:
83+
name: {{ include "graylog.secretsName" . }}
84+
key: GRAYLOG_S3_CLIENT_DEFAULT_SECRET_KEY
85+
- name: GRAYLOG_S3_CLIENT_DEFAULT_ACCESS_KEY
86+
valueFrom:
87+
secretKeyRef:
88+
name: {{ include "graylog.secretsName" . }}
89+
key: GRAYLOG_S3_CLIENT_DEFAULT_ACCESS_KEY
8090
ports:
8191
- name: api
8292
containerPort: {{ .Values.datanode.custom.service.ports.api | default 8999 | int }}

graylog/values.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,13 @@ datanode:
158158
javaOpts: "-Xms1g -Xmx1g"
159159
skipPreflightChecks: "false"
160160
nodeSearchCacheSize: "10gb"
161+
s3ClientDefaultSecretKey: ""
162+
s3ClientDefaultAccessKey: ""
163+
s3ClientDefaultEndpoint: ""
164+
s3ClientDefaultRegion: "us-east-2"
165+
s3ClientDefaultProtocol: "http"
166+
s3ClientDefaultPathStyleAccess: "true"
167+
161168
# Custom Kubernetes-specific parameters
162169
custom:
163170
podAnnotations: {}

0 commit comments

Comments
 (0)