diff --git a/k8s/crisalid/Chart.lock b/k8s/crisalid/Chart.lock new file mode 100644 index 0000000..782a4c7 --- /dev/null +++ b/k8s/crisalid/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: oci://criprodprod.azurecr.io/helm + version: 0.3.5 +digest: sha256:b7bde64ce14d4bf8ae72bf99d81b6ce16028cbee9cdaffa0ab845b3cd247e1e2 +generated: "2025-10-10T17:40:44.182406995+02:00" diff --git a/k8s/crisalid/Chart.yaml b/k8s/crisalid/Chart.yaml new file mode 100644 index 0000000..d5bc993 --- /dev/null +++ b/k8s/crisalid/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v2 +appVersion: 0.1.0 +description: Deploy and manage crisalid +name: crisalid +type: application +version: 1.0.0 + +dependencies: +- name: common + repository: oci://criprodprod.azurecr.io/helm + version: 0.3.5 diff --git a/k8s/crisalid/charts/common-0.3.5.tgz b/k8s/crisalid/charts/common-0.3.5.tgz new file mode 100644 index 0000000..0baee4b Binary files /dev/null and b/k8s/crisalid/charts/common-0.3.5.tgz differ diff --git a/k8s/crisalid/templates/config.yaml b/k8s/crisalid/templates/config.yaml new file mode 100644 index 0000000..feb8268 --- /dev/null +++ b/k8s/crisalid/templates/config.yaml @@ -0,0 +1,7 @@ +{{- $configGenerator := dict +"config" .Values.neo4j.config +"root" $ +"commonLabels" .Values.neo4j.commonLabels +"name" (tpl .Values.neo4j.fullName .) }} + +{{- include "common.config.resources" $configGenerator}} diff --git a/k8s/crisalid/templates/deployment.yaml b/k8s/crisalid/templates/deployment.yaml new file mode 100644 index 0000000..60fb6d4 --- /dev/null +++ b/k8s/crisalid/templates/deployment.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ tpl .Values.neo4j.fullName $ }} + labels: + {{- (tpl ($.Values.neo4j.commonLabels | toYaml ) $) | nindent 4 }} +spec: + serviceName: {{ tpl .Values.neo4j.fullName $ }} + replicas: 1 + selector: + matchLabels: + {{- (tpl ($.Values.neo4j.commonLabels | toYaml ) $) | nindent 6 }} + template: + metadata: + labels: + {{- (tpl ($.Values.neo4j.commonLabels | toYaml ) $) | nindent 8 }} + spec: + containers: + - name: neo4j + {{- with $.Values.neo4j.image }} + image: {{ tpl (printf "%s/%s:%s" .repository .path .tag) $ }} + {{- end }} + imagePullPolicy: IfNotPresent + ports: + - containerPort: {{ .Values.neo4j.httpPort }} + name: http + - containerPort: {{ .Values.neo4j.boltPort }} + name: bolt + envFrom: + - configMapRef: + name: {{ tpl .Values.neo4j.fullName $ }} + securityContext: + {{- include "common.security.containerSecurityContext.restricted" dict | nindent 10 }} + diff --git a/k8s/crisalid/templates/service.yaml b/k8s/crisalid/templates/service.yaml new file mode 100644 index 0000000..5ae6b9d --- /dev/null +++ b/k8s/crisalid/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ tpl .Values.neo4j.fullName $ }} + labels: + {{- (tpl ($.Values.neo4j.commonLabels | toYaml ) $) | nindent 4 }} + +spec: + type: ClusterIP + ports: + - port: {{ .Values.neo4j.httpPort }} + targetPort: http + protocol: TCP + name: http + - port: {{ .Values.neo4j.boltPort }} + targetPort: bolt + protocol: TCP + name: bolt + selector: + {{- (tpl ($.Values.neo4j.commonLabels | toYaml ) $) | nindent 4 }} diff --git a/k8s/crisalid/values.yaml b/k8s/crisalid/values.yaml new file mode 100644 index 0000000..7df17c8 --- /dev/null +++ b/k8s/crisalid/values.yaml @@ -0,0 +1,29 @@ +# Default values for crisalid-neo4j Helm chart. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + + + +neo4j: + fullName: neo4j + image: + repository: neo4j + tag: "5-community" + pullPolicy: IfNotPresent + httpPort: 7474 + boltPort: 7687 + commonLabels: + app.kubernetes.io/name: neo4j + app.kubernetes.io/part-of: crisalid + app.kubernetes.io/managed-by: Helm + config: + nonSensitive: + NEO4J_AUTH: none + NEO4J_apoc_export_file_enabled: true + NEO4J_apoc_import_file_enabled: true + NEO4J_apoc_import_file_use__neo4j__config: true + NEO4J_PLUGINS: '[ "apoc" ]' + NEO4J_server_memory_heap_initial__size: "512m" + NEO4J_server_memory_heap_max__size: "2G" + NEO4J_server_memory_pagecache_size: "1G" +