Skip to content

Releases: Ontotext-AD/graphdb-helm

GraphDB Helm 11.1.1

19 Jul 15:01
90aa4fe
Compare
Choose a tag to compare

New

GraphDB Helm 11.1.0

05 Jul 10:23
bae62ad
Compare
Choose a tag to compare

New

  • Updated to GraphDB 10.7.0
  • Added podAntiAffinity and proxy.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 and job.dnsPolicy for customizing the DNS resolution
    • Added job.priorityClassName for defining the pods scheduling importance
    • Added job.nodeSelector, job.affinity, job.tolerations and job.topologySpreadConstraints for customizing the
      node scheduling
  • Added persistence.volumeClaimRetentionPolicy and proxy.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

02 Jul 12:00
964dd27
Compare
Choose a tag to compare

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's readOnlyRootFilesystem 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

24 Jun 14:03
1f40d61
Compare
Choose a tag to compare

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 and fullnameOverride
  • 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 from image.registry
  • Removed global.storageClass in favor of using by default the default storage class in the cluster. Templates will no longer
    use global.storageClass.
  • Renamed extraLabels to just labels
  • Moved images.graphdb configurations to just image
  • Moved deployment.imagePullPolicy to image.pullPolicy and deployment.imagePullSecret to image.pullSecrets
    • Note that image.pullSecrets is now a list
  • Moved deployment.ingress to just ingress
  • Moved deployment.tls to ingress.tls
  • Moved graphdb and graphdb.node configurations on the root level
  • Moved all proxy configurations from graphdb.clusterProxy to just proxy
  • Renamed proxy.persistence.enablePersistence toggle to just enabled
  • Moved proxy.serviceType to proxy.service.type
  • Configmaps from graphdb.configs are now under configuration, repositories, cluster and security with a different structure allowing
    better reuse of existing configmaps
  • Moved graphdb.clusterConfig configurations
    • Moved graphdb.clusterConfig.nodesCount to replicas
    • Moved the rest of graphdb.clusterConfig configurations under cluster, cluster.config and cluster.config.params
  • Moved graphdb.security configurations to security
    • Moved provisioningUsername and provisioningPassword under security.provisioner
  • Moved job related configurations from graphdb (e.g. graphdb.jobResources) to a new root section jobs
  • Moved graphdb.node.service configurations to headlessService
  • Moved graphdb.import_directory_mount configurations to import.volumeMount
  • Renamed pdb to podDisruptionBudget and renamed podDisruptionBudget.create to podDisruptionBudget.enabled for consistency
  • Renamed messageSize to messageSizeKB in the cluster creation configuration in cluster.config.params
  • Renamed java_args to defaultJavaArguments and added a separate javaArguments that can be used for additional configurations,
    see configuration and proxy.configuration
  • Removed configuration overrides from the default GDB_JAVA_OPTS: enable-context-index, entity-pool-implementation
    and health.max.query.time.seconds
  • Removed the default logback XML configuration and configmap in favor of an example and a new configuration options
    under configuration.logback and proxy.configuration.logback
  • Renamed GraphDB storage PVC template name prefix to storage and server import folder to import
  • Moved persistence.volumeClaimTemplateSpec to persistence.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 Job
    • cluster.jobs.patchCluster.enabled - Enables or disables the Job for patching the cluster configuration
    • cluster.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 and proxy.annotations configurations for the cluster proxy
  • Added new global.clusterDomain for reconfiguring the default Kubernetes cluster domain suffix in case it is different than cluster.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 and path for GraphDB from configuration.externalUrl
    • Ability to change the Ingress path type with ingress.pathType
    • Inserting additional hosts and TLS configurations with ingress.extraHosts and ingress.extraTLS
  • 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 and security.provisioner.tokenKey to provide an existing authentication token
  • Added cluster.token.existingSecret and cluster.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 and proxy.configuration.properties for appending additional inline GraphDB configurations in their properties
    configmaps
  • Added configuration.secretProperties and proxy.secretProperties for appending additional inline sensitive GraphDB configurations if needed
  • Added configuration.extraProperties.existingConfigmap and proxy.configuration.extraProperties.existingConfigmap for appending GraphDB properties
    from an existing ConfigMap resource
  • Added configuration.extraProperties.existingSecret and proxy.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 and proxy.headlessService:
    • Added labels configurations for insertion of additional labels
    • Added ports mappings in each Service
    • Added extraPorts for mapping additional ports, use in combination with extraContainerPorts
  • Added containerPorts and proxy.containerPorts for mapping the ports on which GraphDB listens on
  • Added extraContainerPorts and proxy.extraContainerPorts to open additional container ports
  • Added service.externalTrafficPolicy and service.proxy.externalTrafficPolicy to override the policy to Local if needed
  • Added service.healthCheckNodePort and service.proxy.healthCheckNodePort to define a specific node port for LB health checks
  • Added service.loadBalancerClass and service.proxy.loadBalancerClass to select a specific load balancer implementation
  • Added service.loadBalancerSourceRanges and service.proxy.loadBalancerSourceRanges to restrict the external ingress traffic from the LB
  • Added service.externalIPs and service.proxy.externalIPs to use existing external IPs
  • Added persistence.emptyDir and proxy.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 and annotations for all persistent volume claim
    templates: persistence.volumeClaimTemplate, proxy.persistence.volumeClaimTemplate and import.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 and proxy.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...
Read more

10.6.4

06 Jun 15:22
11a4044
Compare
Choose a tag to compare

Changes

  • Upgrade GraphDB version to 10.6.4

Release 11.0.0-RC1

29 May 11:49
Compare
Choose a tag to compare
Release 11.0.0-RC1 Pre-release
Pre-release

Release Candidate 1 for 11.0.0

10.6.3

19 Apr 12:34
3617cc8
Compare
Choose a tag to compare

Changes

  • Upgrade GraphDB version to 10.6.3

10.6.2

07 Mar 16:36
4fc137c
Compare
Choose a tag to compare

Changes

  • Upgrade GraphDB version to 10.6.2

10.6.1

20 Feb 14:07
a8d68d3
Compare
Choose a tag to compare

Changes

  • Upgrade GraphDB version to 10.6.1

10.6.0-R2

20 Feb 09:16
204d3f9
Compare
Choose a tag to compare

Changes

New

  • Added graphdb.node.extraInitContainers and graphdb.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 of messageSize, see graphdb.clusterConfig.messageSize.