openstack-helm-addons/monasca/templates/agent-deployment.yaml

158 lines
7.0 KiB
YAML

{{- if .Values.agent.deployment_enabled }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ template "agent.fullname" . }}
labels:
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
component: "{{ .Values.agent.name }}-deployment"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
spec:
template:
metadata:
labels:
component: "{{ .Values.agent.name }}-deployment"
app: {{ template "fullname" . }}
spec:
terminationGracePeriodSeconds: {{ .Values.agent.termination_grace_period }}
containers:
- name: collector
image: "{{ .Values.agent.collector.image.repository }}:{{ .Values.agent.collector.image.tag }}"
imagePullPolicy: {{ .Values.agent.collector.image.pullPolicy }}
resources:
{{ toYaml .Values.agent.resources | indent 12 }}
env:
- name: KEYSTONE_DEFAULTS_ENABLED
value: "{{ .Values.agent.keystone.defaults_enabled }}"
- name: OS_AUTH_URL
{{- if .Values.agent.keystone.url }}
{{- if eq (kindOf .Values.agent.keystone.url) "map" }}
valueFrom:
secretKeyRef:
name: "{{ .Values.agent.keystone.url.secret_name }}"
key: "{{ .Values.agent.keystone.url.secret_key | default "OS_AUTH_URL" }}"
{{- else }}
value: "{{ .Values.agent.keystone.url }}"
{{- end }}
{{- else if .Values.keystone.override.public_url }}
value: "{{ .Values.keystone.override.public_url }}/v3"
{{- else }}
value: "http://{{ template "keystone.fullname" . }}:{{ .Values.keystone.service.port }}/v3"
{{- end }}
{{ include "monasca_keystone_env" .Values.agent.keystone | indent 12 }}
- name: AGENT_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: AGENT_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: KUBERNETES_API
value: "true"
- name: KUBERNETES_API_TIMEOUT
value: {{ .Values.agent.kubernetes_api.timeout | quote }}
- name: KUBERNETES_API_LABELS
value: {{ .Values.agent.kubernetes_api.kubernetes_labels | quote }}
- name: PROMETHEUS
value: {{ .Values.agent.prometheus.auto_detect_service_endpoints | quote }}
- name: PROMETHEUS_TIMEOUT
value: {{ .Values.agent.prometheus.timeout | quote }}
- name: PROMETHEUS_DETECT_METHOD
value: service
- name: PROMETHEUS_KUBERNETES_LABELS
value: {{ .Values.agent.prometheus.kubernetes_labels | quote }}
- name: MONASCA_API_URL
value: "http://{{ template "api.fullname" . }}:{{ .Values.api.service.port }}/v2.0"
- name: LOG_LEVEL
value: {{ .Values.agent.log_level | quote }}
- name: HOSTNAME_FROM_KUBERNETES
value: "true"
{{- if .Values.agent.namespace_annotations }}
- name: KUBERNETES_NAMESPACE_ANNOTATIONS
value: {{ .Values.agent.namespace_annotations | quote}}
{{- end}}
{{- if .Values.agent.kubernetes_api.storage.parameter_dimensions }}
- name: STORAGE_PARAMETERS_DIMENSIONS
value: {{ .Values.agent.kubernetes_api.storage.parameter_dimensions | quote}}
{{- end}}
- name: REPORT_PERSISTENT_STORAGE
value: {{ .Values.agent.kubernetes_api.storage.report | quote }}
{{- if .Values.agent.dimensions }}
- name: DIMENSIONS
value: {{ .Values.agent.dimensions | quote}}
{{- end}}
- name: CHECK_FREQ
value: {{ .Values.agent.collector.check_freq | quote }}
- name: NUM_COLLECTOR_THREADS
value: {{ .Values.agent.collector.num_collector_threads | quote }}
- name: POOL_FULL_MAX_TRIES
value: {{ .Values.agent.collector.pool_full_max_retries | quote }}
- name: SUB_COLLECTION_WARN
value: {{ .Values.agent.collector.sub_collection_warn | quote }}
{{- if .Values.agent.plugins.enabled }}
volumeMounts:
- name: agent-config
mountPath: /plugins.d
{{- end}}
- name: forwarder
image: "{{ .Values.agent.forwarder.image.repository }}:{{ .Values.agent.forwarder.image.tag }}"
imagePullPolicy: {{ .Values.agent.forwarder.image.pullPolicy }}
resources:
{{ toYaml .Values.agent.resources | indent 12 }}
env:
- name: KEYSTONE_DEFAULTS_ENABLED
value: "{{ .Values.agent.keystone.defaults_enabled }}"
- name: AGENT_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: AGENT_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: OS_AUTH_URL
{{- if .Values.agent.keystone.url }}
{{- if eq (kindOf .Values.agent.keystone.url) "map" }}
valueFrom:
secretKeyRef:
name: "{{ .Values.agent.keystone.url.secret_name }}"
key: "{{ .Values.agent.keystone.url.secret_key | default "OS_AUTH_URL" }}"
{{- else }}
value: "{{ .Values.agent.keystone.url }}"
{{- end }}
{{- else if .Values.keystone.override.public_url }}
value: "{{ .Values.keystone.override.public_url }}/v3"
{{- else }}
value: "http://{{ template "keystone.fullname" . }}:{{ .Values.keystone.service.port }}/v3"
{{- end }}
{{ include "monasca_keystone_env" .Values.agent.keystone | indent 12 }}
- name: MONASCA_URL
value: "http://{{ template "api.fullname" . }}:{{ .Values.api.service.port }}/v2.0"
- name: LOG_LEVEL
value: {{ .Values.agent.log_level | quote }}
- name: INSECURE
value: {{ .Values.agent.insecure | quote }}
- name: MAX_BATCH_SIZE
value: {{ .Values.agent.forwarder.max_batch_size | quote }}
- name: MAX_MEASUREMENT_BUFFER_SIZE
value: {{ .Values.agent.forwarder.max_measurement_buffer_size | quote }}
- name: BACKLOG_SEND_RATE
value: {{ .Values.agent.forwarder.backlog_send_rate | quote }}
- name: NON_LOCAL_TRAFFIC
value: {{ .Values.agent.forwarder.non_local_traffic | quote }}
{{- if .Values.agent.plugins.enabled }}
volumes:
- name: agent-config
configMap:
name: {{ template "agent.fullname" . }}
{{- end}}
{{- if .Values.agent.serviceAccount }}
serviceAccountName: {{ .Values.agent.serviceAccount | quote }}
{{- else if .Values.rbac.create }}
serviceAccountName: "{{ template "agent.fullname" . }}"
{{- end }}
{{- end}}