Skip to content
Snippets Groups Projects
README.md 11.64 KiB

Graylog

Version: 0.8.6 Type: application AppVersion: 6.0.6

Changelog

see RELEASENOTES.md

A Helm chart for Graylog on Kubernetes

TL;DR

helm repo add groundhog2k https://groundhog2k.github.io/helm-charts/
helm install my-release groundhog2k/graylog

Introduction

This chart uses the original Graylog image from Docker Hub to deploy a stateful Graylog instance in a Kubernetes cluster.

Prerequisites

  • Kubernetes 1.12+
  • Helm 3.x
  • PV provisioner support in the underlying infrastructure

Installing the Chart

To install the chart with the release name my-release:

helm install my-release groundhog2k/graylog

Uninstalling the Chart

To uninstall/delete the my-release deployment:

helm uninstall my-release

Requirements

Repository Name Version
@groundhog2k mongodb 0.5.22

Common parameters

Key Type Default Description
fullnameOverride string "" Fully override the deployment name
nameOverride string "" Partially override the deployment name

Deployment parameters

Key Type Default Description
image.pullPolicy string "IfNotPresent" Image pull policy
image.registry string "docker.io" Image registry
image.repository string "graylog/graylog" Image name
image.tag string "" Image tag
initImage.pullPolicy string "IfNotPresent" Init container image pull policy
initImage.registry string "docker.io" Image registry
initImage.repository string "maxmindinc/geoipupdate" Default init container image
initImage.tag string "latest" Init container image tag
imagePullSecrets list [] Image pull secrets
startupProbe object see values.yaml Startup probe configuration
livenessProbe object see values.yaml Liveness probe configuration
readinessProbe object see values.yaml Readiness probe configuration
customStartupProbe object {} Custom startup probe (overwrites default startup probe configuration)
customLivenessProbe object {} Custom liveness probe (overwrites default liveness probe configuration)
customReadinessProbe object {} Custom readiness probe (overwrites default readiness probe configuration)
resources object {} Resource limits and requests
nodeSelector object {} Deployment node selector
customLabels object {} Additional labels for Deployment or StatefulSet
customAnnotations object {} Additional annotations for Deployment or StatefulSet
podAnnotations object {} Additional pod annotations
podLabels object {} Additional pod labels
podSecurityContext object see values.yaml Pod security context
securityContext object see values.yaml Container security context
env list [] Additional container environmment variables
args list [] Additional container command arguments
serviceAccount.annotations object {} Additional service account annotations
serviceAccount.create bool false Enable service account creation
serviceAccount.name string "" Name of the service account
affinity object {} Pod affinity
tolerations list [] Pod tolerations
topologySpreadConstraints object {} Topology spread constraints for pods
podManagementPolicy string OrderedReady Pod management policy
updateStrategyType string RollingUpdate Update strategy
replicaCount int 1 Number of replicas (Not supported - Don't change in this chart version)
revisionHistoryLimit int nil Maximum number of revisions maintained in revision history
podDisruptionBudget object {} Pod disruption budget
podDisruptionBudget.minAvailable int nil Minimum number of pods that must be available after eviction
podDisruptionBudget.maxUnavailable int nil Maximum number of pods that can be unavailable after eviction

Service paramters

Key Type Default Description
service.type string "ClusterIP" Service type
service.http int 80 Graylog http service port
service.nodePort int nil The http node port (only relevant for type LoadBalancer or NodePort)
service.clusterIP string nil The cluster ip address (only relevant for type LoadBalancer or NodePort)
service.loadBalancerIP string nil The load balancer ip address (only relevant for type LoadBalancer)
service.annotations object {} Additional service annotations
service.labels object {} Additional service labels

Extra service parameters

Section to define all additional UDP/TCP inputs for Graylog

Key Type Default Description
extraServices[].name string nil Unique name of the input service
extraServices[].type string nil Service type (ClusterIP / NodePort / LoadBalancer)
extraServices[].protocol string nil Protocol type (TCP / UDP)
extraServices[].containerPort int nil Container port
extraServices[].port int nil Service port
extraServices[].nodePort int nil The http node port (only relevant for type LoadBalancer or NodePort)
extraServices[].clusterIP string nil The cluster ip address (only relevant for type LoadBalancer or NodePort)
extraServices[].loadBalancerIP string nil The load balancer ip address (only relevant for type LoadBalancer)
extraServices[].annotations object {} Additional service annotations
extraServices[].labels object {} Additional service labels

Ingress parameters

Key Type Default Description
ingress.enabled bool false Enable ingress for Gitea service
ingress.className string nil Optional ingress class name
ingress.annotations object {} Additional annotations for ingress
ingress.labels object {} Additional ingress lables
ingress.hosts[].host string nil Hostname for the ingress endpoint
ingress.hosts[].host.paths[] string nil Path routing for the ingress endpoint host
ingress.tls list [] Ingress TLS parameters

Network policies

Allows to define optional network policies for ingress and egress The policyTypes will be automatically set

Key Type Default Description
networkPolicy.ingress object {} Ingress network policies
networkPolicy.egress object {} Egress network policies

Database settings

Key Type Default Description
externalDatabase.host string nil External MongoDB database host
externalDatabase.name string "graylog" External database name
externalDatabase.user string nil External database user name
externalDatabase.password string nil External database user password
mongodb.enabled bool false Enable MongoDB deployment (will disable external database settings)
mongodb.settings.rootUsername string admin The root username
mongodb.settings.rootPassword string {} The root users password
mongodb.userDatabase object {} Optional MongoDB user database
mongodb.userDatabase.name string nil Name of the user database
mongodb.userDatabase.user string nil User name with full access to user database
mongodb.userDatabase.password string nil Password of created user
mongodb.storage object see values.yaml MongoDB storage settings

MaxMind GeoIP2 database

Key Type Default Description
initGeoIPDatabase.enabled bool false Enable GeoIP database download
initGeoIPDatabase.accountId string "" MaxMind UserId / AccountId
initGeoIPDatabase.licenseKey string "" MaxMind license key
initGeoIPDatabase.editionId string "GeoLite2-City" Default database edition id - see MaxMind page
initGeoIPDatabase.host string "" The MaxMind download host (not necessary to change that - default updates.maxmind.com)
initGeoIPDatabase.proxy string "" A valid proxy if internet access is running through a proxy
initGeoIPDatabase.proxyUserPassword string "" Proxy username and password in format "username:password"

Storage parameters

Key Type Default Description
storage.accessModes[0] string "ReadWriteOnce" Storage access mode
storage.persistentVolumeClaimName string nil PVC name when existing storage volume should be used
storage.volumeName string "graylog-volume" Internal volume name
storage.requestedSize string nil Size for new PVC, when no existing PVC is used
storage.className string nil Storage class name
storage.annotations object {} Additional storage annotations
storage.labels object {} Additional storage labels

Graylog parameters