github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/mysql/templates/_helpers.tpl (about)

     1  {{/*
     2  Expand the name of the chart.
     3  */}}
     4  {{- define "mysql.name" -}}
     5  {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
     6  {{- end }}
     7  
     8  {{/*
     9  Create a default fully qualified app name.
    10  We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
    11  If release name contains chart name it will be used as a full name.
    12  */}}
    13  {{- define "mysql.fullname" -}}
    14  {{- if .Values.fullnameOverride }}
    15  {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
    16  {{- else }}
    17  {{- $name := default .Chart.Name .Values.nameOverride }}
    18  {{- if contains $name .Release.Name }}
    19  {{- .Release.Name | trunc 63 | trimSuffix "-" }}
    20  {{- else }}
    21  {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
    22  {{- end }}
    23  {{- end }}
    24  {{- end }}
    25  
    26  {{/*
    27  Create chart name and version as used by the chart label.
    28  */}}
    29  {{- define "mysql.chart" -}}
    30  {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
    31  {{- end }}
    32  
    33  {{/*
    34  Common labels
    35  */}}
    36  {{- define "mysql.labels" -}}
    37  helm.sh/chart: {{ include "mysql.chart" . }}
    38  {{ include "mysql.selectorLabels" . }}
    39  {{- if .Chart.AppVersion }}
    40  app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
    41  {{- end }}
    42  app.kubernetes.io/managed-by: {{ .Release.Service }}
    43  {{- end }}
    44  
    45  {{/*
    46  Selector labels
    47  */}}
    48  {{- define "mysql.selectorLabels" -}}
    49  app.kubernetes.io/name: {{ include "mysql.name" . }}
    50  app.kubernetes.io/instance: {{ .Release.Name }}
    51  {{- end }}
    52  
    53  {{/*
    54  Create the name of the service account to use
    55  */}}
    56  {{- define "mysql.serviceAccountName" -}}
    57  {{- if .Values.serviceAccount.create }}
    58  {{- default (include "mysql.fullname" .) .Values.serviceAccount.name }}
    59  {{- else }}
    60  {{- default "default" .Values.serviceAccount.name }}
    61  {{- end }}
    62  {{- end }}
    63  
    64  {{/*
    65  apecloud-otel config
    66  */}}
    67  {{- define "agamotto.config" -}}
    68  extensions:
    69    memory_ballast:
    70      size_mib: 32
    71  
    72  receivers:
    73    apecloudmysql:
    74      endpoint: ${env:ENDPOINT}
    75      username: ${env:MYSQL_USER}
    76      password: ${env:MYSQL_PASSWORD}
    77      allow_native_passwords: true
    78      database:
    79      collection_interval: 15s
    80      transport: tcp
    81    filelog/error:
    82      include: [/data/mysql/log/mysqld-error.log]
    83      include_file_name: false
    84      start_at: beginning
    85    filelog/slow:
    86      include: [/data/mysql/log/mysqld-slowquery.log]
    87      include_file_name: false
    88      start_at: beginning
    89  
    90  processors:
    91    memory_limiter:
    92      limit_mib: 128
    93      spike_limit_mib: 32
    94      check_interval: 10s
    95  
    96  exporters:
    97    prometheus:
    98      endpoint: 0.0.0.0:{{ .Values.metrics.service.port }}
    99      send_timestamps: false
   100      metric_expiration: 20s
   101      enable_open_metrics: false
   102      resource_to_telemetry_conversion:
   103        enabled: true
   104    apecloudfile/error:
   105      path: /var/log/kubeblocks/${env:KB_NAMESPACE}_${env:DB_TYPE}_${env:KB_CLUSTER_NAME}/${env:KB_POD_NAME}/error.log
   106      format: raw
   107      rotation:
   108        max_megabytes: 10
   109        max_days: 3
   110        max_backups: 1
   111        localtime: true
   112    apecloudfile/slow:
   113      path: /var/log/kubeblocks/${env:KB_NAMESPACE}_${env:DB_TYPE}_${env:KB_CLUSTER_NAME}/${env:KB_POD_NAME}/slow.log
   114      format: raw
   115      rotation:
   116        max_megabytes: 10
   117        max_days: 3
   118        max_backups: 1
   119        localtime: true
   120  
   121  service:
   122    telemetry:
   123      logs:
   124        level: info
   125    extensions: [ memory_ballast ]
   126    pipelines:
   127      metrics:
   128        receivers: [ apecloudmysql ]
   129        processors: [ memory_limiter ]
   130        exporters: [ prometheus ]
   131      logs/error:
   132        receivers: [filelog/error]
   133        exporters: [apecloudfile/error]
   134      logs/slow:
   135        receivers: [filelog/slow]
   136        exporters: [apecloudfile/slow]
   137  {{- end }}
   138  
   139  {{/*
   140  apecloud-otel config for proxy
   141  */}}
   142  {{- define "proxy-monitor.config" -}}
   143  receivers:
   144    prometheus:
   145      config:
   146        scrape_configs:
   147          - job_name: 'agamotto'
   148            scrape_interval: 15s
   149            static_configs:
   150              - targets: ['127.0.0.1:15100']
   151  service:
   152    pipelines:
   153      metrics:
   154        receivers: [ apecloudmysql, prometheus ]
   155  {{- end }}