From 0a5f65ad69da07d9a3e7f6fb7c96ffee6dd74c41 Mon Sep 17 00:00:00 2001 From: "adam.wu" Date: Mon, 10 Feb 2025 23:46:45 +0800 Subject: [PATCH 1/5] feat(integration):add meilisearch engine optional --- charts/karpor/templates/_common.tpl | 20 ++++++++ charts/karpor/templates/elasticsearch.yml | 2 + charts/karpor/templates/karpor-server.yml | 16 +++++-- charts/karpor/templates/karpor-syncer.yml | 9 +++- charts/karpor/templates/meilisearch.yaml | 56 +++++++++++++++++++++++ charts/karpor/values.yaml | 38 +++++++++++++++ 6 files changed, 137 insertions(+), 4 deletions(-) create mode 100644 charts/karpor/templates/meilisearch.yaml diff --git a/charts/karpor/templates/_common.tpl b/charts/karpor/templates/_common.tpl index dc0704b..c8e4918 100644 --- a/charts/karpor/templates/_common.tpl +++ b/charts/karpor/templates/_common.tpl @@ -34,3 +34,23 @@ Real image. .repo | join "/") }}:{{ if .needV }}v{{ end }}{{ default .context.Chart.AppVersion .tag }} {{- end -}} +{{/* +ElasticSearch URL. +*/}} +{{- define "elasticsearch.url" -}} +{{ if .Values.search.external }}{{.Values.search.external.host}}:{{.Values.search.external.port}}{{else}}http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} +{{- end -}} + +{{/* +Meilisearch URL. +*/}} +{{- define "meilisearch.url" -}} +{{ if .Values.search.external }}{{.Values.search.external.host}}:{{.Values.search.external.port}}{{else}}http://meilisearrch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} +{{- end -}} + +{{/* +Search URL Args. +*/}} +{{- define "karpor.searchURLArgs" -}} +{{ if .Values.search.engine eq "meilisearch" }} {{ include "elasticsearch.url"}} {{else}} {{ include "meilisearch.url"}}{{ end }} +{{- end -}} \ No newline at end of file diff --git a/charts/karpor/templates/elasticsearch.yml b/charts/karpor/templates/elasticsearch.yml index a4211dd..756a374 100644 --- a/charts/karpor/templates/elasticsearch.yml +++ b/charts/karpor/templates/elasticsearch.yml @@ -1,3 +1,4 @@ +{{- if and (.Values.search.engine eq "elasticsearch") (not .Values.search.external) }} apiVersion: v1 kind: Service metadata: @@ -56,3 +57,4 @@ spec: volumes: - emptyDir: {} name: data + {{- end }} \ No newline at end of file diff --git a/charts/karpor/templates/karpor-server.yml b/charts/karpor/templates/karpor-server.yml index bfe05c6..809f645 100644 --- a/charts/karpor/templates/karpor-server.yml +++ b/charts/karpor/templates/karpor-server.yml @@ -1,3 +1,6 @@ +{{- if ( .Values.search.engine ne "elasticsearch") and ( .Values.search.engine ne "meilisearch") }} +{{ fail "values.search.mode must be one of [elasticsearch,meilisearch] "}} +{{- end }} apiVersion: v1 kind: Service metadata: @@ -41,9 +44,16 @@ spec: spec: containers: - args: - - --search-storage-type=elasticsearch - - --elastic-search-addresses=http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }} - - --etcd-servers=http://etcd.{{ .Values.namespace }}.svc:{{ .Values.etcd.port }} + - --search-storage-type={{.Values.search.engine}} + - "--search-url={{ include "karpor.searchURLArgs" }}" + {{- with .Values.search.external.username}} + - "--search-user={{.}}" + {{- end }} + {{- with .Values.search.external.password}} + - "--search-password={{.}}" + {{- end }} +{{/* - --elastic-search-addresses=http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}*/}} +{{/* - --etcd-servers=http://etcd.{{ .Values.namespace }}.svc:{{ .Values.etcd.port }}*/}} - --secure-port={{ .Values.server.port }} - --client-ca-file=/etc/karpor/ca.crt - --service-account-signing-key-file=/etc/karpor/ca.key diff --git a/charts/karpor/templates/karpor-syncer.yml b/charts/karpor/templates/karpor-syncer.yml index 81642e2..a94fb14 100644 --- a/charts/karpor/templates/karpor-syncer.yml +++ b/charts/karpor/templates/karpor-syncer.yml @@ -20,7 +20,14 @@ spec: - /karpor args: - syncer - - --elastic-search-addresses=http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }} + - --search-storage-type={{.Values.search.engine}} + - "--search-url={{ include "karpor.searchURLArgs" }}" + {{- with .Values.search.external.username}} + - "--search-user={{.}}" + {{- end }} + {{- with .Values.search.external.password}} + - "--search-password={{.}}" + {{- end }} env: - name: KUBECONFIG value: /etc/karpor/config diff --git a/charts/karpor/templates/meilisearch.yaml b/charts/karpor/templates/meilisearch.yaml new file mode 100644 index 0000000..beb5b69 --- /dev/null +++ b/charts/karpor/templates/meilisearch.yaml @@ -0,0 +1,56 @@ +{{- if and (.Values.search.engine eq "meilisearch") (not .Values.search.external) }} +apiVersion: v1 +kind: Service +metadata: + name: meilisearch + namespace: {{ .Values.namespace }} +spec: + ports: + - port: {{ .Values.meilisearch.port }} + selector: + {{- include "karpor.selectorLabels" (dict "context" . "component" .Values.meilisearch.name) | nindent 4 }} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: meilisearch + namespace: {{ .Values.namespace }} + labels: + {{- include "karpor.labels" (dict "context" . "component" .Values.meilisearch.name) | nindent 4 }} +spec: + replicas: {{ .Values.meilisearch.replicas }} + selector: + matchLabels: + {{- include "karpor.selectorLabels" (dict "context" . "component" .Values.meilisearch.name) | nindent 6 }} + template: + metadata: + labels: + {{- include "karpor.selectorLabels" (dict "context" . "component" .Values.meilisearch.name) | nindent 6 }} + spec: + volumes: + - emptyDir: {} + name: data + containers: + - name: meilisearch + image: {{ include "karpor.realImage" (dict "context" . "repo" .Values.meilisearch.image.repo "tag" .Values.meilisearch.image.tag) }} + command: + - meilisearch + - --master-key + - {{ .Values.meilisearch.key}} + {{ if .Values.meilisearch.analytics }} + - --no-analytics + {{ end }} + + ports: + - containerPort: {{ .Values.meilisearch.port }} + protocol: TCP + resources: + {{- toYaml .Values.meilisearch.resources | nindent 12 }} + volumeMounts: + - name: data + mountPath: /meili_data + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} + restartPolicy: Always + {{- end }} \ No newline at end of file diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index 8722ec8..b5306e6 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -94,7 +94,45 @@ syncer: cpu: 500m memory: 1Gi ephemeral-storage: 10Gi +search: + # elasticsearch or meilisearch + engine: elasticsearch + # if external is set to be true. + # and fill the connection information in "external" section + external: + enabled: true + host: "192.168.0.1" + port: "5432" + username: "user" + password: "password" +# Configuration for meilisearch +meilisearch: + # -- Component name for meilisearch. + name: meilisearch + # -- The number of meilisearch pods to run. + replicas: 1 + # -- Port for meilisearch. + port: 7700 + # default master key + key: danger!changeIt + # if set to be false, add flag --no-analytics + analytics: false + image: + # -- Repository for meilisearch image. + repo: getmeili/meilisearch + # -- Specific tag for meilisearch image. + tag: "v1.12" + # -- Resource limits and requests for the karpor meilisearch pods. + resources: + requests: + cpu: "2" + memory: 4Gi + ephemeral-storage: 10Gi + limits: + cpu: "2" + memory: 4Gi + ephemeral-storage: 10Gi # Configuration for ElasticSearch elasticsearch: # -- Component name for ElasticSearch. From f82bbb73db5d937b3ca0fa0584ba3815549d46a9 Mon Sep 17 00:00:00 2001 From: "adam.wu" Date: Mon, 17 Mar 2025 22:39:57 +0800 Subject: [PATCH 2/5] feat: add meili search support --- charts/karpor/templates/_common.tpl | 8 ++++---- charts/karpor/templates/karpor-server.yml | 6 +++--- charts/karpor/templates/karpor-syncer.yml | 4 ++-- charts/karpor/values.yaml | 9 ++++----- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/charts/karpor/templates/_common.tpl b/charts/karpor/templates/_common.tpl index c8e4918..f66a9f8 100644 --- a/charts/karpor/templates/_common.tpl +++ b/charts/karpor/templates/_common.tpl @@ -38,19 +38,19 @@ Real image. ElasticSearch URL. */}} {{- define "elasticsearch.url" -}} -{{ if .Values.search.external }}{{.Values.search.external.host}}:{{.Values.search.external.port}}{{else}}http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} +{{ if .Values.search.external }}{{ .Values.search.external.addresses | join "," }}{{else}}http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.meilisearch.port }}{{end}} {{- end -}} {{/* Meilisearch URL. */}} {{- define "meilisearch.url" -}} -{{ if .Values.search.external }}{{.Values.search.external.host}}:{{.Values.search.external.port}}{{else}}http://meilisearrch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} +{{ if .Values.search.external }}{{ .Values.search.external.addresses | join "," }}{{else}}http://meilisearrch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} {{- end -}} {{/* Search URL Args. */}} -{{- define "karpor.searchURLArgs" -}} -{{ if .Values.search.engine eq "meilisearch" }} {{ include "elasticsearch.url"}} {{else}} {{ include "meilisearch.url"}}{{ end }} +{{- define "karpor.searchURL" -}} +{{ if .Values.search.engine eq "meilisearch" }} {{ include "meilisearch.url"}} {{else}} {{ include "elasticsearch.url"}}{{ end }} {{- end -}} \ No newline at end of file diff --git a/charts/karpor/templates/karpor-server.yml b/charts/karpor/templates/karpor-server.yml index 809f645..a61f669 100644 --- a/charts/karpor/templates/karpor-server.yml +++ b/charts/karpor/templates/karpor-server.yml @@ -45,15 +45,15 @@ spec: containers: - args: - --search-storage-type={{.Values.search.engine}} - - "--search-url={{ include "karpor.searchURLArgs" }}" + - "--search-addresses={{ include "karpor.searchURL" }}" {{- with .Values.search.external.username}} - - "--search-user={{.}}" + - "--search-username={{.}}" {{- end }} {{- with .Values.search.external.password}} - "--search-password={{.}}" {{- end }} {{/* - --elastic-search-addresses=http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}*/}} -{{/* - --etcd-servers=http://etcd.{{ .Values.namespace }}.svc:{{ .Values.etcd.port }}*/}} + - "--etcd-servers=http://etcd.{{ .Values.namespace }}.svc:{{ .Values.etcd.port }}" - --secure-port={{ .Values.server.port }} - --client-ca-file=/etc/karpor/ca.crt - --service-account-signing-key-file=/etc/karpor/ca.key diff --git a/charts/karpor/templates/karpor-syncer.yml b/charts/karpor/templates/karpor-syncer.yml index a94fb14..d83ed57 100644 --- a/charts/karpor/templates/karpor-syncer.yml +++ b/charts/karpor/templates/karpor-syncer.yml @@ -21,9 +21,9 @@ spec: args: - syncer - --search-storage-type={{.Values.search.engine}} - - "--search-url={{ include "karpor.searchURLArgs" }}" + - "--search-addresses={{ include "karpor.searchURL" }}" {{- with .Values.search.external.username}} - - "--search-user={{.}}" + - "--search-username={{.}}" {{- end }} {{- with .Values.search.external.password}} - "--search-password={{.}}" diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index b5306e6..53247fe 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -100,11 +100,10 @@ search: # if external is set to be true. # and fill the connection information in "external" section external: - enabled: true - host: "192.168.0.1" - port: "5432" - username: "user" - password: "password" + enabled: false + addresses: "192.168.0.1:3456" + username: "" + password: "" # Configuration for meilisearch meilisearch: From 63001c68b917423e1af80ad8d2dd7a6e6d8a6040 Mon Sep 17 00:00:00 2001 From: "adam.wu" Date: Sat, 22 Mar 2025 14:43:47 +0800 Subject: [PATCH 3/5] bug fix: wrong include --- charts/karpor/templates/_common.tpl | 55 +++++++++++++++++++++-- charts/karpor/templates/elasticsearch.yml | 6 +-- charts/karpor/templates/karpor-server.yml | 14 +++--- charts/karpor/templates/karpor-syncer.yml | 14 +++--- charts/karpor/templates/meilisearch.yaml | 7 +-- charts/karpor/values.yaml | 16 +++---- 6 files changed, 76 insertions(+), 36 deletions(-) diff --git a/charts/karpor/templates/_common.tpl b/charts/karpor/templates/_common.tpl index f66a9f8..02923cd 100644 --- a/charts/karpor/templates/_common.tpl +++ b/charts/karpor/templates/_common.tpl @@ -38,19 +38,66 @@ Real image. ElasticSearch URL. */}} {{- define "elasticsearch.url" -}} -{{ if .Values.search.external }}{{ .Values.search.external.addresses | join "," }}{{else}}http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.meilisearch.port }}{{end}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.addresses | join "," }}{{else}}http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} {{- end -}} {{/* Meilisearch URL. */}} {{- define "meilisearch.url" -}} -{{ if .Values.search.external }}{{ .Values.search.external.addresses | join "," }}{{else}}http://meilisearrch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}{{end}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.addresses | join "," }}{{else}}http://meilisearch.{{ .Values.namespace }}.svc:{{ .Values.meilisearch.port }}{{end}} {{- end -}} + + {{/* Search URL Args. */}} {{- define "karpor.searchURL" -}} -{{ if .Values.search.engine eq "meilisearch" }} {{ include "meilisearch.url"}} {{else}} {{ include "elasticsearch.url"}}{{ end }} -{{- end -}} \ No newline at end of file +{{ if eq .Values.search.engine "meilisearch" }}{{ include "meilisearch.url" .}}{{else}}{{ include "elasticsearch.url" . }}{{ end }} +{{- end -}} + +{{/* +Search User Args. +*/}} +{{- define "karpor.searchUsername" -}} +{{ if eq .Values.search.engine "meilisearch" }}{{ include "meilisearch.user" . }}{{else}}{{ include "elasticsearch.user" . }}{{ end }} +{{- end -}} + +{{/* +Search Password Args. +*/}} +{{- define "karpor.searchPassword" -}} +{{ if eq .Values.search.engine "meilisearch" }}{{ include "meilisearch.password" . }}{{else}}{{ include "elasticsearch.password" . }}{{ end }} +{{- end -}} + +{{/* +Meilisearch User. +*/}} +{{- define "meilisearch.user" -}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.username }}{{else}} {{ "" }}{{end}} +{{- end -}} + +{{/* +Meilisearch Password. +*/}} +{{- define "meilisearch.password" -}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.password }}{{else}}{{ .Values.meilisearch.key }}{{end}} +{{- end -}} + +{{/* +ElasticSearch User. +*/}} +{{- define "elasticsearch.user" -}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.username }}{{else}}{{ "" }}{{end}} +{{- end -}} + +{{/* +ElasticSearch Password. +*/}} +{{- define "elasticsearch.password" -}} +{{ if .Values.search.external.enabled }}{{ .Values.search.external.password }}{{else}}{{ "" }}{{end}} +{{- end -}} + + + diff --git a/charts/karpor/templates/elasticsearch.yml b/charts/karpor/templates/elasticsearch.yml index 756a374..bc41a61 100644 --- a/charts/karpor/templates/elasticsearch.yml +++ b/charts/karpor/templates/elasticsearch.yml @@ -1,4 +1,4 @@ -{{- if and (.Values.search.engine eq "elasticsearch") (not .Values.search.external) }} +{{- if and ( eq .Values.search.engine "elasticsearch") (not .Values.search.external) }} apiVersion: v1 kind: Service metadata: @@ -44,7 +44,7 @@ spec: - name: ES_JAVA_OPTS value: -Xms1g -Xmx1g image: {{ include "karpor.realImage" (dict "context" . "repo" .Values.elasticsearch.image.repo "tag" .Values.elasticsearch.image.tag) }} - imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} + imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} name: elasticsearch ports: - containerPort: {{ .Values.elasticsearch.port }} @@ -57,4 +57,4 @@ spec: volumes: - emptyDir: {} name: data - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/karpor/templates/karpor-server.yml b/charts/karpor/templates/karpor-server.yml index a61f669..9726bea 100644 --- a/charts/karpor/templates/karpor-server.yml +++ b/charts/karpor/templates/karpor-server.yml @@ -1,4 +1,4 @@ -{{- if ( .Values.search.engine ne "elasticsearch") and ( .Values.search.engine ne "meilisearch") }} +{{- if and ( ne .Values.search.engine "elasticsearch") (ne .Values.search.engine "meilisearch") }} {{ fail "values.search.mode must be one of [elasticsearch,meilisearch] "}} {{- end }} apiVersion: v1 @@ -45,13 +45,9 @@ spec: containers: - args: - --search-storage-type={{.Values.search.engine}} - - "--search-addresses={{ include "karpor.searchURL" }}" - {{- with .Values.search.external.username}} - - "--search-username={{.}}" - {{- end }} - {{- with .Values.search.external.password}} - - "--search-password={{.}}" - {{- end }} + - "--search-addresses={{ include "karpor.searchURL" . }}" + - "--search-username={{ include "karpor.searchUsername" . }}" + - "--search-password={{ include "karpor.searchPassword" . }}" {{/* - --elastic-search-addresses=http://elasticsearch.{{ .Values.namespace }}.svc:{{ .Values.elasticsearch.port }}*/}} - "--etcd-servers=http://etcd.{{ .Values.namespace }}.svc:{{ .Values.etcd.port }}" - --secure-port={{ .Values.server.port }} @@ -91,7 +87,7 @@ spec: command: - /karpor image: {{ include "karpor.realImage" (dict "context" . "repo" .Values.server.image.repo "tag" .Values.server.image.tag "needV" (not (hasPrefix "v" .Values.server.image.tag))) }} - imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} + imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} name: karpor-server ports: - containerPort: {{ .Values.server.port }} diff --git a/charts/karpor/templates/karpor-syncer.yml b/charts/karpor/templates/karpor-syncer.yml index d83ed57..940ef1b 100644 --- a/charts/karpor/templates/karpor-syncer.yml +++ b/charts/karpor/templates/karpor-syncer.yml @@ -20,19 +20,15 @@ spec: - /karpor args: - syncer - - --search-storage-type={{.Values.search.engine}} - - "--search-addresses={{ include "karpor.searchURL" }}" - {{- with .Values.search.external.username}} - - "--search-username={{.}}" - {{- end }} - {{- with .Values.search.external.password}} - - "--search-password={{.}}" - {{- end }} + - "--search-storage-type={{ .Values.search.engine }}" + - "--search-addresses={{ include "karpor.searchURL" . }}" + - "--search-username={{ include "karpor.searchUsername" .}}" + - "--search-password={{ include "karpor.searchPassword" .}}" env: - name: KUBECONFIG value: /etc/karpor/config image: {{ include "karpor.realImage" (dict "context" . "repo" .Values.syncer.image.repo "tag" .Values.syncer.image.tag "needV" (not (hasPrefix "v" .Values.syncer.image.tag))) }} - imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} + imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} name: karpor-syncer ports: - containerPort: {{ .Values.syncer.port }} diff --git a/charts/karpor/templates/meilisearch.yaml b/charts/karpor/templates/meilisearch.yaml index beb5b69..87cfaa9 100644 --- a/charts/karpor/templates/meilisearch.yaml +++ b/charts/karpor/templates/meilisearch.yaml @@ -1,4 +1,4 @@ -{{- if and (.Values.search.engine eq "meilisearch") (not .Values.search.external) }} +{{- if and (eq .Values.search.engine "meilisearch") (not .Values.search.external.enabled ) }} apiVersion: v1 kind: Service metadata: @@ -25,7 +25,7 @@ spec: template: metadata: labels: - {{- include "karpor.selectorLabels" (dict "context" . "component" .Values.meilisearch.name) | nindent 6 }} + {{- include "karpor.selectorLabels" (dict "context" . "component" .Values.meilisearch.name) | nindent 8 }} spec: volumes: - emptyDir: {} @@ -37,6 +37,7 @@ spec: - meilisearch - --master-key - {{ .Values.meilisearch.key}} + - --experimental-contains-filter {{ if .Values.meilisearch.analytics }} - --no-analytics {{ end }} @@ -53,4 +54,4 @@ spec: terminationMessagePolicy: File imagePullPolicy: {{ .Values.global.image.imagePullPolicy }} restartPolicy: Always - {{- end }} \ No newline at end of file + {{- end }} diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index 53247fe..9a86e4b 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -25,9 +25,9 @@ server: port: 7443 image: # -- Repository for Karpor server image. - repo: kusionstack/karpor + repo: karpor # -- Tag for Karpor server image. Defaults to the chart's appVersion if not specified. - tag: "" + tag: "latest" # -- Resource limits and requests for the karpor server pods. resources: requests: @@ -81,9 +81,9 @@ syncer: port: 7443 image: # -- Repository for Karpor syncer image. - repo: kusionstack/karpor + repo: karpor # -- Tag for Karpor syncer image. Defaults to the chart's appVersion if not specified. - tag: "" + tag: "latest" # -- Resource limits and requests for the karpor syncer pods. resources: requests: @@ -96,7 +96,7 @@ syncer: ephemeral-storage: 10Gi search: # elasticsearch or meilisearch - engine: elasticsearch + engine: meilisearch # if external is set to be true. # and fill the connection information in "external" section external: @@ -121,12 +121,12 @@ meilisearch: # -- Repository for meilisearch image. repo: getmeili/meilisearch # -- Specific tag for meilisearch image. - tag: "v1.12" + tag: "v1.13" # -- Resource limits and requests for the karpor meilisearch pods. resources: requests: - cpu: "2" - memory: 4Gi + cpu: 500m + memory: 1Gi ephemeral-storage: 10Gi limits: cpu: "2" From e1add82c1c37dad88eea64a145705e182571646a Mon Sep 17 00:00:00 2001 From: "adam.wu" Date: Sat, 22 Mar 2025 15:20:17 +0800 Subject: [PATCH 4/5] bug fix: wrong include --- charts/karpor/values.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index 9a86e4b..e7f83ab 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -25,9 +25,9 @@ server: port: 7443 image: # -- Repository for Karpor server image. - repo: karpor + repo: kusionstack/karpor # -- Tag for Karpor server image. Defaults to the chart's appVersion if not specified. - tag: "latest" + tag: "" # -- Resource limits and requests for the karpor server pods. resources: requests: @@ -81,9 +81,9 @@ syncer: port: 7443 image: # -- Repository for Karpor syncer image. - repo: karpor + repo: kusionstack/karpor # -- Tag for Karpor syncer image. Defaults to the chart's appVersion if not specified. - tag: "latest" + tag: "" # -- Resource limits and requests for the karpor syncer pods. resources: requests: @@ -96,7 +96,7 @@ syncer: ephemeral-storage: 10Gi search: # elasticsearch or meilisearch - engine: meilisearch + engine: elasticsearch # if external is set to be true. # and fill the connection information in "external" section external: @@ -125,8 +125,8 @@ meilisearch: # -- Resource limits and requests for the karpor meilisearch pods. resources: requests: - cpu: 500m - memory: 1Gi + cpu: "2" + memory: 4Gi ephemeral-storage: 10Gi limits: cpu: "2" From a7bb5c2c3e33619bdf868e1c0f3fa0a991283283 Mon Sep 17 00:00:00 2001 From: "adam.wu" Date: Mon, 24 Mar 2025 22:11:24 +0800 Subject: [PATCH 5/5] feat: update README.md --- charts/karpor/Chart.yaml | 2 +- charts/karpor/README.md | 18 ++++++++++++++++++ charts/karpor/README.md.gotmpl | 13 ++++++++++++- charts/karpor/templates/meilisearch.yaml | 2 +- charts/karpor/values.yaml | 17 ++++++++++------- 5 files changed, 42 insertions(+), 10 deletions(-) diff --git a/charts/karpor/Chart.yaml b/charts/karpor/Chart.yaml index 8c671ed..1fd8949 100644 --- a/charts/karpor/Chart.yaml +++ b/charts/karpor/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: karpor -version: 0.7.5 +version: 0.7.6 type: application appVersion: 0.6.3 description: A modern kubernetes visualization tool (Karpor). diff --git a/charts/karpor/README.md b/charts/karpor/README.md index 31d4ff2..8625497 100644 --- a/charts/karpor/README.md +++ b/charts/karpor/README.md @@ -57,6 +57,11 @@ The following table lists the configurable parameters of the chart and their def | namespace | string | `"karpor"` | Which namespace to be deployed. | | namespaceEnabled | bool | `true` | Whether to generate namespace. | | registryProxy | string | `""` | Image registry proxy will be the prefix as all component image. | +| search.engine | string | `"elasticsearch"` | Engine for storage,may elasticsearch or meilisearch | +| search.external.addresses | list | `["192.168.0.1:3456"]` | Address for search engine | +| search.external.enabled | bool | `false` | If external is set to be true. and fill the connection information in "external" section | +| search.external.password | string | `""` | password for search engine | +| search.external.username | string | `""` | Username for search engine | ### Global Parameters @@ -117,6 +122,19 @@ The ElasticSearch Component to store the synchronized resources and user data. | elasticsearch.replicas | int | `1` | The number of ElasticSearch pods to run. | | elasticsearch.resources | object | `{"limits":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"},"requests":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"}}` | Resource limits and requests for the karpor elasticsearch pods. | +The MeiliSearch Component to store the synchronized resources and user data. + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| meilisearch.image.repo | string | `"getmeili/meilisearch"` | Repository for meilisearch image. | +| meilisearch.image.tag | string | `"v1.13"` | Specific tag for meilisearch image. | +| meilisearch.key | string | `"danger!changeIt"` | Default master key | +| meilisearch.name | string | `"meilisearch"` | Component name for meilisearch. | +| meilisearch.noAnalytics | bool | `true` | | +| meilisearch.port | int | `7700` | Port for meilisearch. | +| meilisearch.replicas | int | `1` | The number of meilisearch pods to run. | +| meilisearch.resources | object | `{"limits":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"},"requests":{"cpu":"2","ephemeral-storage":"10Gi","memory":"4Gi"}}` | Resource limits and requests for the karpor meilisearch pods. | + ### ETCD The ETCD Component is the storage of Karpor Server as `apiserver`. diff --git a/charts/karpor/README.md.gotmpl b/charts/karpor/README.md.gotmpl index 87e00f9..02f9641 100644 --- a/charts/karpor/README.md.gotmpl +++ b/charts/karpor/README.md.gotmpl @@ -48,7 +48,7 @@ The following table lists the configurable parameters of the chart and their def | Key | Type | Default | Description | |-----|------|---------|-------------| {{- range .Values }} - {{- if not (or (hasPrefix "global" .Key) (hasPrefix "server" .Key) (hasPrefix "syncer" .Key) (hasPrefix "elasticsearch" .Key) (hasPrefix "etcd" .Key) (hasPrefix "job" .Key) ) }} + {{- if not (or (hasPrefix "global" .Key) (hasPrefix "server" .Key) (hasPrefix "syncer" .Key) (hasPrefix "elasticsearch" .Key) (hasPrefix "meilisearch" .Key) (hasPrefix "etcd" .Key) (hasPrefix "job" .Key) ) }} | {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} | {{- end }} {{- end }} @@ -99,6 +99,17 @@ The ElasticSearch Component to store the synchronized resources and user data. {{- end }} {{- end }} +The MeiliSearch Component to store the synchronized resources and user data. + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +{{- range .Values }} + {{- if hasPrefix "meilisearch" .Key }} +| {{ .Key }} | {{ .Type }} | {{ if .Default }}{{ .Default }}{{ else }}{{ .AutoDefault }}{{ end }} | {{ if .Description }}{{ .Description }}{{ else }}{{ .AutoDescription }}{{ end }} | + {{- end }} +{{- end }} + + ### ETCD The ETCD Component is the storage of Karpor Server as `apiserver`. diff --git a/charts/karpor/templates/meilisearch.yaml b/charts/karpor/templates/meilisearch.yaml index 87cfaa9..e0e54fd 100644 --- a/charts/karpor/templates/meilisearch.yaml +++ b/charts/karpor/templates/meilisearch.yaml @@ -38,7 +38,7 @@ spec: - --master-key - {{ .Values.meilisearch.key}} - --experimental-contains-filter - {{ if .Values.meilisearch.analytics }} + {{ if .Values.meilisearch.noAnalytics }} - --no-analytics {{ end }} diff --git a/charts/karpor/values.yaml b/charts/karpor/values.yaml index fb2e32d..bd03316 100644 --- a/charts/karpor/values.yaml +++ b/charts/karpor/values.yaml @@ -96,14 +96,17 @@ syncer: memory: 1Gi ephemeral-storage: 10Gi search: - # elasticsearch or meilisearch + # -- Engine for storage,may elasticsearch or meilisearch engine: elasticsearch - # if external is set to be true. - # and fill the connection information in "external" section external: + # -- If external is set to be true. and fill the connection information in "external" section enabled: false - addresses: "192.168.0.1:3456" + # -- Address for search engine + addresses: + - "192.168.0.1:3456" + # -- Username for search engine username: "" + # -- password for search engine password: "" # Configuration for meilisearch @@ -114,10 +117,10 @@ meilisearch: replicas: 1 # -- Port for meilisearch. port: 7700 - # default master key + # -- Default master key key: danger!changeIt - # if set to be false, add flag --no-analytics - analytics: false + # -- If set to be true, add flag --no-analytics + noAnalytics: true image: # -- Repository for meilisearch image. repo: getmeili/meilisearch