feat: new wrapper chart for manticoresearch
This commit is contained in:
parent
5d3fae12cf
commit
69d1778492
23
charts/manticore/.helmignore
Normal file
23
charts/manticore/.helmignore
Normal file
@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
21
charts/manticore/Chart.yaml
Normal file
21
charts/manticore/Chart.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
apiVersion: v2
|
||||
name: manticore
|
||||
description: Chart for Manticore
|
||||
type: application
|
||||
version: 5.0.02
|
||||
appVersion: 5.0.02
|
||||
home: https://kubezero.com
|
||||
icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png
|
||||
keywords:
|
||||
- kubezero
|
||||
- manticore
|
||||
maintainers:
|
||||
- name: Stefan Reimer
|
||||
email: stefan@zero-downtime.net
|
||||
dependencies:
|
||||
- name: kubezero-lib
|
||||
version: ">= 0.1.4"
|
||||
repository: https://cdn.zero-downtime.net/charts
|
||||
- name: manticoresearch
|
||||
version: "=5.0.02"
|
||||
kubeVersion: ">= 1.20.0"
|
42
charts/manticore/README.md
Normal file
42
charts/manticore/README.md
Normal file
@ -0,0 +1,42 @@
|
||||
# clamav
|
||||
|
||||
![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.104.0](https://img.shields.io/badge/AppVersion-0.104.0-informational?style=flat-square)
|
||||
|
||||
Chart for deploying a ClamavD on kubernetes as statfulSet
|
||||
|
||||
**Homepage:** <https://kubezero.com>
|
||||
|
||||
## Maintainers
|
||||
|
||||
| Name | Email | Url |
|
||||
| ---- | ------ | --- |
|
||||
| Quarky9 | | |
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>= 1.18.0`
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://cdn.zero-downtime.net/charts/ | kubezero-lib | >= 0.1.4 |
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| clamav.freshclam.mirrors | string | `"database.clamav.net"` | A list of clamav mirrors to be used by the clamav service |
|
||||
| clamav.image | string | `"clamav/clamav"` | The clamav docker image |
|
||||
| clamav.limits.connectionQueueLength | int | `100` | Maximum length the queue of pending connections may grow to |
|
||||
| clamav.limits.fileSize | int | `20` | The largest file size scanable by clamav, in MB |
|
||||
| clamav.limits.maxThreads | int | `4` | Maximum number of threads running at the same time. |
|
||||
| clamav.limits.scanSize | int | `100` | The largest scan size permitted in clamav, in MB |
|
||||
| clamav.limits.sendBufTimeout | int | `500` | |
|
||||
| clamav.replicaCount | int | `1` | |
|
||||
| clamav.resources | object | `{"requests":{"cpu":"300m","memory":"1300M"}}` | The resource requests and limits for the clamav service |
|
||||
| clamav.version | string | `"unstable"` | The clamav docker image version - defaults to .Chart.appVersion |
|
||||
| fullnameOverride | string | `""` | override the full name of the clamav chart |
|
||||
| nameOverride | string | `""` | override the name of the clamav chart |
|
||||
| service.port | int | `3310` | The port to be used by the clamav service |
|
||||
|
||||
----------------------------------------------
|
||||
Autogenerated from chart metadata using [helm-docs v1.9.1](https://github.com/norwoodj/helm-docs/releases/v1.9.1)
|
23
charts/manticore/charts/manticoresearch/Chart.yaml
Normal file
23
charts/manticore/charts/manticoresearch/Chart.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
apiVersion: v2
|
||||
name: manticoresearch
|
||||
description: A Helm chart for Kubernetes
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 5.0.02
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
appVersion: 5.0.0.2
|
37
charts/manticore/charts/manticoresearch/templates/NOTES.txt
Normal file
37
charts/manticore/charts/manticoresearch/templates/NOTES.txt
Normal file
@ -0,0 +1,37 @@
|
||||
1) Wait until all pods are moved to running state:
|
||||
|
||||
kubectl --namespace {{ .Release.Namespace }} get po
|
||||
|
||||
2) Forward worker port to your local machine:
|
||||
|
||||
export WORKER_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "manticoresearch.name" . }},app.kubernetes.io/instance={{ .Release.Name }},label=manticore-worker" -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $WORKER_NAME 7306:{{ .Values.worker.service.ql.port }}
|
||||
|
||||
3) Connect to the worker:
|
||||
|
||||
mysql -h0 -P7306
|
||||
|
||||
4) Create your first table:
|
||||
|
||||
CREATE TABLE idx(title text);
|
||||
|
||||
5) Add table to cluster:
|
||||
|
||||
ALTER CLUSTER {{ .Values.worker.clusterName }} ADD idx;
|
||||
|
||||
6) Add some data to your table:
|
||||
|
||||
INSERT INTO {{ .Values.worker.clusterName }}:idx (title) VALUES ('dog is brown'), ('mouse is small');
|
||||
|
||||
7) Forward worker port to your local machine:
|
||||
|
||||
export BALANCER_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "manticoresearch.name" . }},app.kubernetes.io/instance={{ .Release.Name }},name={{ include "manticoresearch.fullname" . }}-balancer" -o jsonpath="{.items[0].metadata.name}")
|
||||
kubectl --namespace {{ .Release.Namespace }} port-forward $BALANCER_NAME 6306:{{ .Values.balancer.service.ql.port }}
|
||||
|
||||
8) Search through the balancer:
|
||||
|
||||
mysql -h0 -P6306 -e "SELECT * FROM idx WHERE match('dog')"
|
||||
|
||||
9) Scale the cluster:
|
||||
|
||||
kubectl scale statefulsets manticore-manticoresearch-worker -n {{ .Release.Namespace }} --replicas=5
|
@ -0,0 +1,58 @@
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "manticoresearch.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "manticoresearch.fullname" -}}
|
||||
{{- if .Values.fullNameOverride }}
|
||||
{{- .Values.fullNameOverride | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||
{{- if contains $name .Release.Name }}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||
{{- else }}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "manticoresearch.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Common labels
|
||||
*/}}
|
||||
{{- define "manticoresearch.labels" -}}
|
||||
helm.sh/chart: {{ include "manticoresearch.chart" . }}
|
||||
{{ include "manticoresearch.selectorLabels" . }}
|
||||
{{- if .Chart.AppVersion }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||
{{- end }}
|
||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Selector labels
|
||||
*/}}
|
||||
{{- define "manticoresearch.selectorLabels" -}}
|
||||
app.kubernetes.io/name: {{ include "manticoresearch.name" . }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use
|
||||
*/}}
|
||||
{{- define "manticoresearch.serviceAccountName" -}}
|
||||
{{- default (include "manticoresearch.fullname" .) .Values.serviceAccount.name }}
|
||||
{{- end }}
|
@ -0,0 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer-config
|
||||
labels:
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
data:
|
||||
manticore.conf:
|
||||
{{ toYaml .Values.balancer.config.content | indent 4 }}
|
||||
|
@ -0,0 +1,111 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer
|
||||
labels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer
|
||||
template:
|
||||
metadata:
|
||||
{{- if or .Values.exporter.enabled .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- if .Values.exporter.enabled }}
|
||||
{{- toYaml .Values.exporter.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.podAnnotations }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer
|
||||
{{- include "manticoresearch.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "manticoresearch.serviceAccountName" . }}
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}-balancer
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.balancer.image.repository }}:{{ .Values.balancer.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.balancer.image.pullPolicy }}
|
||||
env:
|
||||
- name: OBSERVER_RUN_INTERVAL
|
||||
value: "{{ .Values.balancer.runInterval }}"
|
||||
{{- if .Values.optimize.enabled }}
|
||||
- name: OPTIMIZE_RUN_INTERVAL
|
||||
value: "{{ .Values.optimize.interval }}"
|
||||
- name: CHUNKS_COEFFICIENT
|
||||
value: "{{ .Values.optimize.coefficient }}"
|
||||
{{- end }}
|
||||
- name: WORKER_LABEL
|
||||
value: "manticore-worker"
|
||||
- name: CONFIGMAP_PATH
|
||||
value: {{ .Values.balancer.config.path }}
|
||||
- name: BALANCER_PORT
|
||||
value: "{{ .Values.balancer.service.ql.port }}"
|
||||
- name: WORKER_PORT
|
||||
value: "{{ .Values.worker.service.ql.port }}"
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: {{ .Values.balancer.service.ql.port }}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 3
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: {{ .Values.balancer.service.ql.port }}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 3
|
||||
volumeMounts:
|
||||
- name: config-volume
|
||||
mountPath: {{ .Values.balancer.config.path }}
|
||||
subPath: manticore.conf
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 10 }}
|
||||
{{- if .Values.exporter.enabled }}
|
||||
- name: {{ .Chart.Name }}-exporter
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.exporter.image.repository }}:{{ .Values.exporter.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.exporter.image.pullPolicy }}
|
||||
env:
|
||||
- name: MANTICORE_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: MANTICORE_PORT
|
||||
value: "{{ .Values.balancer.service.ql.targetPort }}"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: {{ index .Values.exporter.annotations "prometheus.io/port" }}
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 3
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 10 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: config-volume
|
||||
configMap:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer-config
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
@ -0,0 +1,126 @@
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker
|
||||
labels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
label: "{{ include "manticoresearch.fullname" . }}-worker"
|
||||
spec:
|
||||
replicas: {{ .Values.worker.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker
|
||||
serviceName: {{ include "manticoresearch.fullname" . }}-worker-svc
|
||||
template:
|
||||
metadata:
|
||||
{{- if or .Values.exporter.enabled .Values.podAnnotations }}
|
||||
annotations:
|
||||
{{- if .Values.exporter.enabled }}
|
||||
{{- toYaml .Values.exporter.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.podAnnotations }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
labels:
|
||||
name: "{{ include "manticoresearch.fullname" . }}-worker"
|
||||
label: "manticore-worker"
|
||||
{{- include "manticoresearch.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
serviceAccountName: {{ include "manticoresearch.serviceAccountName" . }}
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
securityContext:
|
||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}-worker
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: {{ .Values.worker.image.repository }}:{{ .Values.worker.image.tag | default .Chart.AppVersion }}
|
||||
imagePullPolicy: {{ .Values.worker.image.pullPolicy }}
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
command: [ "/bin/sh", "-c", "./shutdown.sh" ]
|
||||
env:
|
||||
- name: WORKER_LABEL
|
||||
value: "manticore-worker"
|
||||
- name: AUTO_ADD_TABLES_IN_CLUSTER
|
||||
value: "{{ .Values.worker.autoAddTablesInCluster }}"
|
||||
- name: CONFIGMAP_PATH
|
||||
value: {{ .Values.worker.config.path }}
|
||||
- name: MANTICORE_PORT
|
||||
value: "{{ .Values.worker.service.ql.port }}"
|
||||
- name: CLUSTER_NAME
|
||||
value: {{ .Values.worker.clusterName }}
|
||||
- name: BALANCER_URL
|
||||
value: {{ include "manticoresearch.fullname" . }}-balancer-svc:{{ .Values.balancer.service.ql.targetPort }}
|
||||
- name: WORKER_SERVICE
|
||||
value: {{ include "manticoresearch.fullname" . }}-worker-svc
|
||||
readinessProbe:
|
||||
tcpSocket:
|
||||
port: {{ .Values.worker.service.ql.port }}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 3
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: {{ .Values.worker.service.ql.port }}
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 3
|
||||
volumeMounts:
|
||||
- name: data
|
||||
mountPath: /var/lib/manticore/
|
||||
- name: config-volume
|
||||
mountPath: {{ .Values.worker.config.path }}
|
||||
subPath: manticore.conf
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 10 }}
|
||||
{{- if .Values.exporter.enabled }}
|
||||
- name: {{ .Chart.Name }}-exporter
|
||||
securityContext:
|
||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||
image: "{{ .Values.exporter.image.repository }}:{{ .Values.exporter.image.tag | default .Chart.AppVersion }}"
|
||||
imagePullPolicy: {{ .Values.exporter.image.pullPolicy }}
|
||||
env:
|
||||
- name: MANTICORE_HOST
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: MANTICORE_PORT
|
||||
value: "{{ .Values.balancer.service.ql.targetPort }}"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: {{ index .Values.exporter.annotations "prometheus.io/port" }}
|
||||
initialDelaySeconds: 3
|
||||
periodSeconds: 3
|
||||
resources:
|
||||
{{- toYaml .Values.resources | nindent 10 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: config-volume
|
||||
configMap:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker-config
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: data
|
||||
spec:
|
||||
accessModes: [ "ReadWriteOnce" ]
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.worker.volume.size }}
|
@ -0,0 +1,35 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.serviceAccountName" . }}
|
||||
labels:
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
{{- with .Values.serviceAccount.annotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-{{ .Release.Namespace }}
|
||||
rules:
|
||||
- apiGroups: [ '' ]
|
||||
resources: [ 'nodes', 'configmaps', 'pods', 'services' ]
|
||||
verbs: [ "get", "watch", "list" ]
|
||||
- apiGroups: [ 'apps' ]
|
||||
resources: [ 'deployments', 'statefulsets' ]
|
||||
verbs: [ "get", "watch", "list" ]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-{{ .Release.Namespace }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: {{ include "manticoresearch.fullname" . }}-{{ .Release.Namespace }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
namespace: {{ .Release.Namespace }}
|
||||
name: {{ include "manticoresearch.serviceAccountName" . }}
|
@ -0,0 +1,20 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer-svc
|
||||
labels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer-svc
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
spec:
|
||||
ports:
|
||||
- port: {{ .Values.balancer.service.ql.port }}
|
||||
targetPort: {{ .Values.balancer.service.ql.targetPort }}
|
||||
name: balancer
|
||||
- port: {{ .Values.balancer.service.observer.port }}
|
||||
targetPort: {{ .Values.balancer.service.observer.targetPort }}
|
||||
name: observer
|
||||
- port: {{ .Values.balancer.service.http.port }}
|
||||
targetPort: {{ .Values.balancer.service.http.targetPort }}
|
||||
name: http
|
||||
selector:
|
||||
name: {{ include "manticoresearch.fullname" . }}-balancer
|
@ -0,0 +1,18 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker-svc
|
||||
labels:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker-svc
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
spec:
|
||||
clusterIP: "None"
|
||||
ports:
|
||||
- port: {{ .Values.worker.service.ql.port }}
|
||||
targetPort: {{ .Values.worker.service.ql.targetPort }}
|
||||
name: ql
|
||||
- port: {{ .Values.worker.service.http.port }}
|
||||
targetPort: {{ .Values.worker.service.http.targetPort }}
|
||||
name: http
|
||||
selector:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker
|
@ -0,0 +1,10 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ include "manticoresearch.fullname" . }}-worker-config
|
||||
labels:
|
||||
{{- include "manticoresearch.labels" . | nindent 4 }}
|
||||
data:
|
||||
manticore.conf:
|
||||
{{ toYaml .Values.worker.config.content | indent 4 }}
|
||||
|
132
charts/manticore/charts/manticoresearch/values.yaml
Normal file
132
charts/manticore/charts/manticoresearch/values.yaml
Normal file
@ -0,0 +1,132 @@
|
||||
# Default values for manticoresearch.
|
||||
# This is a YAML-formatted file.
|
||||
# Declare variables to be passed into your templates.
|
||||
|
||||
balancer:
|
||||
runInterval: 5
|
||||
image:
|
||||
repository: manticoresearch/helm-balancer
|
||||
# tag: 3.6.0.0
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
ql:
|
||||
port: 9306
|
||||
targetPort: 9306
|
||||
observer:
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
http:
|
||||
port: 9308
|
||||
targetPort: 9308
|
||||
config:
|
||||
path: /etc/manticoresearch/configmap.conf
|
||||
content: |
|
||||
searchd
|
||||
{
|
||||
listen = /var/run/mysqld/mysqld.sock:mysql
|
||||
listen = 9306:mysql
|
||||
listen = 9308:http
|
||||
log = /dev/stdout
|
||||
query_log = /dev/stdout
|
||||
query_log_format = sphinxql
|
||||
pid_file = /var/run/manticore/searchd.pid
|
||||
binlog_path = /var/lib/manticore/data
|
||||
}
|
||||
|
||||
|
||||
worker:
|
||||
replicaCount: 3
|
||||
clusterName: manticore
|
||||
autoAddTablesInCluster: true
|
||||
image:
|
||||
repository: manticoresearch/helm-worker
|
||||
# tag: 3.6.0.0
|
||||
pullPolicy: IfNotPresent
|
||||
service:
|
||||
ql:
|
||||
port: 9306
|
||||
targetPort: 9306
|
||||
http:
|
||||
port: 9308
|
||||
targetPort: 9308
|
||||
volume:
|
||||
size: 1Gi
|
||||
config:
|
||||
path: /etc/manticoresearch/configmap.conf
|
||||
content: |
|
||||
searchd
|
||||
{
|
||||
listen = /var/run/mysqld/mysqld.sock:mysql
|
||||
listen = 9306:mysql
|
||||
listen = 9308:http
|
||||
listen = 9301:mysql_vip
|
||||
listen = $ip:9312
|
||||
listen = $ip:9315-9415:replication
|
||||
binlog_path = /var/lib/manticore/data
|
||||
log = /dev/stdout
|
||||
query_log = /dev/stdout
|
||||
query_log_format = sphinxql
|
||||
pid_file = /var/run/manticore/searchd.pid
|
||||
data_dir = /var/lib/manticore
|
||||
shutdown_timeout = 25s
|
||||
auto_optimize = 0
|
||||
}
|
||||
|
||||
exporter:
|
||||
enabled: false
|
||||
image:
|
||||
repository: manticoresearch/prometheus-exporter
|
||||
pullPolicy: IfNotPresent
|
||||
# tag: 3.6.0.0
|
||||
annotations:
|
||||
prometheus.io/path: /metrics
|
||||
prometheus.io/port: "8081"
|
||||
prometheus.io/scrape: "true"
|
||||
|
||||
optimize:
|
||||
enabled: true
|
||||
interval: "30"
|
||||
coefficient: "2"
|
||||
|
||||
imagePullSecrets: []
|
||||
nameOverride: ""
|
||||
fullNameOverride: ""
|
||||
|
||||
serviceAccount:
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: "manticore-sa"
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext: {}
|
||||
# fsGroup: 2000
|
||||
|
||||
securityContext: {}
|
||||
# capabilities:
|
||||
# drop:
|
||||
# - ALL
|
||||
# readOnlyRootFilesystem: true
|
||||
# runAsNonRoot: true
|
||||
# runAsUser: 1000
|
||||
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||
# choice for the user. This also increases chances charts run on environments with little
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
5
charts/manticore/values.yaml
Normal file
5
charts/manticore/values.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
manticoresearch:
|
||||
worker:
|
||||
replicaCount: 1
|
||||
volume:
|
||||
size: 4Gi
|
Loading…
Reference in New Issue
Block a user