Releases: Ontotext-AD/graphdb-helm
Releases · Ontotext-AD/graphdb-helm
GraphDB Helm 11.1.1
New
- Updated to GraphDB 10.7.1
GraphDB Helm 11.1.0
New
- Updated to GraphDB 10.7.0
- Added
podAntiAffinity
andproxy.podAntiAffinity
for configuring a default podAntiAffinity for the GraphDB pods and GraphDB proxy pods. The default values configure a "soft" podAntiAffinity that tries to schedule GraphDB pods across different Kubernetes hosts but does not enforce it. - Added new configuration options for the Jobs
- Added
job.schedulerName
for overriding the default Kubernetes scheduler - Added
job.dnsConfig
andjob.dnsPolicy
for customizing the DNS resolution - Added
job.priorityClassName
for defining the pods scheduling importance - Added
job.nodeSelector
,job.affinity
,job.tolerations
andjob.topologySpreadConstraints
for customizing the
node scheduling
- Added
- Added
persistence.volumeClaimRetentionPolicy
andproxy.persistence.volumeClaimRetentionPolicy
to control the retention policy of the PVCs when the StatefulSets are scaled and deleted. These configurations are used only for Kubernetes 1.27 and above.
GraphDB Helm 11.0.1
GraphDB Helm 11.0.1 is a patch release that includes several bug fixes related to the cluster jobs and the security context.
Fixed
- Updated all cluster jobs to explicitly use
/tmp
as a working directory to avoid permission errors due to the default security
context'sreadOnlyRootFilesystem
when the container has a starting folder different from/tmp
. - Updated all utility scripts to use temporary files under
/tmp
for the same reason.
GraphDB Helm 11.0.0
Version 11.0.0
Version 11 of the chart addresses a bunch of legacy issues and aims to provide much better user experience and reliability.
Highlights
- Version - The Helm chart is no longer tied with the version of GraphDB and has a separate development and release cycle.
- Naming - Removed hardcoded resource names in favor of using the name templates from _labels.tpl
- Labels - Added the possibility to provide custom labels and annotations to almost every single resource
- Implementation Agnostic - Removed the dependency of particular ingress controllers and storage classes
- Security - Enabled security context by default
- Configurations - Added multiple new configurations to customize both GraphDB and the Kubernetes resources
Breaking
- Updated the chart to require Kubernetes version 1.26+
- Enabled security context by default for all pods and containers
- Updated the GraphDB deployment URL to be http://graphdb.127.0.0.1.nip.io/ by default, see
configuration.externalUrl
- Resource names are no longer hardcoded and are using the templates for
nameOverride
andfullnameOverride
- Updated the ingress to be agnostic to the ingress implementation. It will no longer assume that NGINX is the ingress controller in the
cluster and will no longer deploy NGINX specific annotations by default. Removed anything related to NGINX as configurations. - Removed setting FQDN as hostnames in GraphDB and the proxy in favor of dynamically resolving and configuring the hostnames in the provisioning init
containers - Removed the default value from
global.imageRegistry
, the chart now uses the value fromimage.registry
- Removed
global.storageClass
in favor of using by default the default storage class in the cluster. Templates will no longer
useglobal.storageClass
. - Renamed
extraLabels
to justlabels
- Moved
images.graphdb
configurations to justimage
- Moved
deployment.imagePullPolicy
toimage.pullPolicy
anddeployment.imagePullSecret
toimage.pullSecrets
- Note that
image.pullSecrets
is now a list
- Note that
- Moved
deployment.ingress
to justingress
- Moved
deployment.tls
toingress.tls
- Moved
graphdb
andgraphdb.node
configurations on the root level - Moved all proxy configurations from
graphdb.clusterProxy
to justproxy
- Renamed
proxy.persistence.enablePersistence
toggle to justenabled
- Moved
proxy.serviceType
toproxy.service.type
- Configmaps from
graphdb.configs
are now underconfiguration
,repositories
,cluster
andsecurity
with a different structure allowing
better reuse of existing configmaps - Moved
graphdb.clusterConfig
configurations- Moved
graphdb.clusterConfig.nodesCount
toreplicas
- Moved the rest of
graphdb.clusterConfig
configurations undercluster
,cluster.config
andcluster.config.params
- Moved
- Moved
graphdb.security
configurations tosecurity
- Moved
provisioningUsername
andprovisioningPassword
undersecurity.provisioner
- Moved
- Moved job related configurations from
graphdb
(e.g.graphdb.jobResources
) to a new root sectionjobs
- Moved
graphdb.node.service
configurations toheadlessService
- Moved
graphdb.import_directory_mount
configurations toimport.volumeMount
- Renamed
pdb
topodDisruptionBudget
and renamedpodDisruptionBudget.create
topodDisruptionBudget.enabled
for consistency - Renamed
messageSize
tomessageSizeKB
in the cluster creation configuration incluster.config.params
- Renamed
java_args
todefaultJavaArguments
and added a separatejavaArguments
that can be used for additional configurations,
seeconfiguration
andproxy.configuration
- Removed configuration overrides from the default
GDB_JAVA_OPTS
:enable-context-index
,entity-pool-implementation
andhealth.max.query.time.seconds
- Removed the default logback XML configuration and configmap in favor of an example and a new configuration options
underconfiguration.logback
andproxy.configuration.logback
- Renamed GraphDB storage PVC template name prefix to
storage
and server import folder toimport
- Moved
persistence.volumeClaimTemplateSpec
topersistence.volumeClaimTemplate.spec
- Updated the Service type of the proxy to be ClusterIP by default, see
proxy.service.type
- And more, please refer to values.yaml
New
- Added GraphDB and GraphDB proxy hostnames resolution in the init containers
- Added new annotation checksums for GraphDB and GraphDB proxy in order to detect changes in the properties configmaps
and ultimately trigger rolling update - Added default Secret objects for GraphDB and the proxy that contain sensitive GraphDB configurations
- Added
serviceAccount
configurations allowing you to create or use an existing service account for the GraphDB pods - Added more feature toggles:
headlessService.enabled
proxy.service.enabled
proxy.headlessService.enabled
persistence.enabled
proxy.persistence.enabled
cluster.jobs.createCluster.enabled
- Enables or disables the cluster creation Jobcluster.jobs.patchCluster.enabled
- Enables or disables the Job for patching the cluster configurationcluster.jobs.scaleCluster.enabled
- Enables or disables the Jobs for scaling up or down the cluster
- Added
image.digest
to optionally provide an expected digest of the image - Added
annotations
for additional common annotations across all resources - Added separate
proxy.labels
andproxy.annotations
configurations for the cluster proxy - Added new
global.clusterDomain
for reconfiguring the default Kubernetes cluster domain suffix in case it is different thancluster.local
- Added
namespaceOverride
for overriding the deployment namespace for all resources in case of multi-namespace deployment - Added new configuration options for the default ingress
ingress
:- Ability to override the
host
andpath
for GraphDB fromconfiguration.externalUrl
- Ability to change the Ingress path type with
ingress.pathType
- Inserting additional hosts and TLS configurations with
ingress.extraHosts
andingress.extraTLS
- Ability to override the
- Added
security.admin
for configuring the initial password of the administrator user - Added
security.initialUsers.users
for inserting additional users into the default initial user.js configuration - Added
security.provisioner.existingSecret
andsecurity.provisioner.tokenKey
to provide an existing authentication token - Added
cluster.token.existingSecret
andcluster.token.secretKey
for using an existing Secret instead of providing the cluster secret
token as plaintext in values.yaml - Added
cluster.config.existingConfigmap
to specify a custom configmap key if needed - Added
configuration.properties
andproxy.configuration.properties
for appending additional inline GraphDB configurations in their properties
configmaps - Added
configuration.secretProperties
andproxy.secretProperties
for appending additional inline sensitive GraphDB configurations if needed - Added
configuration.extraProperties.existingConfigmap
andproxy.configuration.extraProperties.existingConfigmap
for appending GraphDB properties
from an existing ConfigMap resource - Added
configuration.extraProperties.existingSecret
andproxy.configuration.extraProperties.existingSecret
for appending GraphDB properties from
an existing Secret resource - Added a Service for single GraphDB deployments, configured with new configurations under
service
- Added new configurations for the Service resources
service
,headlessService
,proxy.service
andproxy.headlessService
:- Added
labels
configurations for insertion of additional labels - Added
ports
mappings in each Service - Added
extraPorts
for mapping additional ports, use in combination withextraContainerPorts
- Added
- Added
containerPorts
andproxy.containerPorts
for mapping the ports on which GraphDB listens on - Added
extraContainerPorts
andproxy.extraContainerPorts
to open additional container ports - Added
service.externalTrafficPolicy
andservice.proxy.externalTrafficPolicy
to override the policy to Local if needed - Added
service.healthCheckNodePort
andservice.proxy.healthCheckNodePort
to define a specific node port for LB health checks - Added
service.loadBalancerClass
andservice.proxy.loadBalancerClass
to select a specific load balancer implementation - Added
service.loadBalancerSourceRanges
andservice.proxy.loadBalancerSourceRanges
to restrict the external ingress traffic from the LB - Added
service.externalIPs
andservice.proxy.externalIPs
to use existing external IPs - Added
persistence.emptyDir
andproxy.persistence.emptyDir
configurations for an emptyDir volume that will be used when the persistence is
disabled - Added
tempVolume
configurations for an emptyDir volume mapped to the /tmp folder in the GraphDB containers - Added configurations for extra
labels
andannotations
for all persistent volume claim
templates:persistence.volumeClaimTemplate
,proxy.persistence.volumeClaimTemplate
andimport.volumeMount.volumeClaimTemplate
- Added
imagePullPolicy
configuration to the Jobs containers - Added
jobs.backoffLimit
for configuring the retry count for all jobs - Added
jobs.ttlSecondsAfterFinished
for configuring the time in seconds for all jobs before deleting finished pods - Added
jobs.persistence.emptyDir
configurations for the default temporary storage for all jobs - Added
proxy.command
andproxy.args
that override the default container entrypoint and command, use for troubleshooting - Added
proxy.pdb
for configuring a pod disruption budget for the GraphDB Proxy - Added
proxy.logback
configurations for providing the proxy with a custom Logback XML configuration - Added `proxy.i...
10.6.4
Release 11.0.0-RC1
Release Candidate 1 for 11.0.0
10.6.3
10.6.2
10.6.1
10.6.0-R2
Changes
New
- Added
graphdb.node.extraInitContainers
andgraphdb.clusterProxy.extraInitContainers
that allow the insertion of custom init containers to both GraphDB and its proxy. - Added
graphdb.clusterConfig.transactionLogMaximumSizeGB
configuration for the cluster creation JSON configuration. - Added
graphdb.clusterConfig.existingClusterConfig
for providing a custom cluster creation JSON configuration.
Fixed
- Fixed URLs in the README.md that refer to the official GraphDB documentation.
- Fixed the cluster creation JSON configuration to use
messageSizeKB
instead ofmessageSize
, seegraphdb.clusterConfig.messageSize
.