168 lines
7.0 KiB
YAML
168 lines
7.0 KiB
YAML
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "api.fullname" . }}
|
|
labels:
|
|
app: {{ template "fullname" . }}
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
component: "{{ .Values.api.name }}"
|
|
release: "{{ .Release.Name }}"
|
|
heritage: "{{ .Release.Service }}"
|
|
spec:
|
|
replicas: {{ .Values.api.replicaCount }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ template "fullname" . }}
|
|
component: "{{ .Values.api.name }}"
|
|
{{- if .Values.api.side_container.enabled }}
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/path: "/metrics"
|
|
prometheus.io/port: "4888"
|
|
{{- end }}
|
|
spec:
|
|
containers:
|
|
- name: api
|
|
image: "{{ .Values.api.image.repository }}:{{ .Values.api.image.tag }}"
|
|
imagePullPolicy: {{ .Values.api.image.pullPolicy }}
|
|
resources:
|
|
{{ toYaml .Values.api.resources | indent 10 }}
|
|
ports:
|
|
- containerPort: 8070
|
|
name: client
|
|
env:
|
|
- name: LOG_LEVEL_ROOT
|
|
value: {{ .Values.api.logging.log_level_root | quote }}
|
|
- name: LOG_LEVEL_CONSOLE
|
|
value: {{ .Values.api.logging.log_level_console | quote }}
|
|
- name: KAFKA_URI
|
|
{{- if .Values.kafka.overrideUri }}
|
|
value: "{{ .Values.kafka.overrideUri }}"
|
|
{{- else }}
|
|
value: "{{ template "kafka.fullname" . }}:9092"
|
|
{{- end }}
|
|
- name: INFLUX_HOST
|
|
value: "{{ .Release.Name }}-influxdb"
|
|
- name: INFLUX_PORT
|
|
value: {{ .Values.influxdb.config.http.bind_address | quote }}
|
|
- name: INFLUX_USER
|
|
value: {{ .Values.api.influxdb.user | quote }}
|
|
- name: INFLUX_PASSWORD
|
|
value: {{ .Values.api.influxdb.password | quote }}
|
|
- name: INFLUX_DB
|
|
value: {{ .Values.api.influxdb.database | quote }}
|
|
{{- if .Values.api.mysql_disabled }}
|
|
- name: API_MYSQL_DISABLED
|
|
value: {{ .Values.api.mysql_disabled | quote }}
|
|
{{- end}}
|
|
{{- if .Values.api.mysql_disabled }}
|
|
- name: MYSQL_WAIT_RETRIES
|
|
value: {{ .Values.api.mysql_wait_retries | quote }}
|
|
{{- end}}
|
|
- name: MYSQL_HOST
|
|
{{- if .Values.api.mysql.host }}
|
|
{{- if eq (kindOf .Values.api.mysql.host) "map" }}
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: "{{ .Values.api.mysql.host.secret_name }}"
|
|
key: "{{ .Values.api.mysql.host.secret_key | default "host" }}"
|
|
{{- else }}
|
|
value: "{{ .Values.api.mysql.host }}"
|
|
{{- end}}
|
|
{{- else }}
|
|
value: "{{ .Release.Name }}-mysql"
|
|
{{- end}}
|
|
- name: MYSQL_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
{{- if .Values.api.mysql.username.secret_name }}
|
|
name: "{{ .Values.api.mysql.username.secret_name }}"
|
|
{{- else }}
|
|
name: "{{ .Release.Name }}-mysql-api-secret"
|
|
{{- end}}
|
|
key: "{{ .Values.api.mysql.username.secret_key | default "username" }}"
|
|
- name: MYSQL_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
{{- if .Values.api.mysql.password.secret_name }}
|
|
name: "{{ .Values.api.mysql.password.secret_name }}"
|
|
{{- else }}
|
|
name: "{{ .Release.Name }}-mysql-api-secret"
|
|
{{- end}}
|
|
key: "{{ .Values.api.mysql.password.secret_key | default "password" }}"
|
|
- name: MYSQL_DB
|
|
value: "mon"
|
|
- name: MEMCACHED_URI
|
|
{{- if .Values.api.memcachedUri }}
|
|
value: "{{ .Values.api.memcachedUri }}"
|
|
{{- else if .Values.memcached.enabled }}
|
|
value: "{{ template "memcached.fullname" . }}:{{ .Values.memcached.service.port | default "11211" }}"
|
|
{{- else }}
|
|
value: ""
|
|
{{- end }}
|
|
- name: KEYSTONE_IDENTITY_URI
|
|
{{- if .Values.api.keystone.identity_url }}
|
|
{{- include "monasca_secret_env" .Values.api.keystone.identity_url | indent 14 }}
|
|
{{- else if .Values.keystone.override.public_url }}
|
|
value: "{{ .Values.keystone.override.public_url }}"
|
|
{{- else }}
|
|
value: "http://{{ template "keystone.fullname" . }}:{{ .Values.keystone.service.port }}"
|
|
{{- end }}
|
|
- name: KEYSTONE_AUTH_URI
|
|
{{- if .Values.api.keystone.auth_url }}
|
|
{{- include "monasca_secret_env" .Values.api.keystone.auth_url | indent 14 }}
|
|
{{- else if .Values.keystone.override.admin_url }}
|
|
value: "{{ .Values.keystone.override.admin_url }}"
|
|
{{- else }}
|
|
value: "http://{{ template "keystone.fullname" . }}:{{ .Values.keystone.service.admin_port }}"
|
|
{{- end }}
|
|
- name: KEYSTONE_ADMIN_USER
|
|
{{- include "monasca_secret_env" .Values.api.keystone.username | indent 14 }}
|
|
- name: KEYSTONE_ADMIN_PASSWORD
|
|
{{- include "monasca_secret_env" .Values.api.keystone.password | indent 14 }}
|
|
- name: KEYSTONE_ADMIN_TENANT
|
|
{{- include "monasca_secret_env" .Values.api.keystone.tenant_name | indent 14 }}
|
|
{{- if .Values.api.auth_disabled }}
|
|
- name: API_AUTH_DISABLED
|
|
value: "true"
|
|
{{- end}}
|
|
{{- if .Values.api.authorized_roles }}
|
|
- name: AUTHORIZED_ROLES
|
|
value: {{ .Values.api.authorized_roles | quote }}
|
|
{{- end}}
|
|
{{- if .Values.api.http_proxy }}
|
|
- name: http_proxy
|
|
value: {{ .Values.api.http_proxy | quote }}
|
|
- name: HTTP_PROXY
|
|
value: {{ .Values.api.http_proxy | quote }}
|
|
{{- end }}
|
|
{{- if .Values.api.https_proxy }}
|
|
- name: https_proxy
|
|
value: {{ .Values.api.https_proxy | quote }}
|
|
- name: HTTPS_PROXY
|
|
value: {{ .Values.api.https_proxy | quote }}
|
|
{{- end }}
|
|
{{- if .Values.api.no_proxy }}
|
|
- name: no_proxy
|
|
value: {{ .Values.api.no_proxy | quote }}
|
|
- name: NO_PROXY
|
|
value: {{ .Values.api.no_proxy | quote }}
|
|
{{- end }}
|
|
{{- if .Values.api.side_container.enabled }}
|
|
- name: SIDECAR_URL
|
|
value: http://localhost:4888/v1/ingest
|
|
{{- end }}
|
|
- name: GUNICORN_WORKERS
|
|
value: {{ .Values.api.gunicorn_workers | quote }}
|
|
{{- if .Values.api.side_container.enabled }}
|
|
- name: sidecar
|
|
image: "{{ .Values.api.side_container.image.repository }}:{{ .Values.api.side_container.image.tag }}"
|
|
imagePullPolicy: {{ .Values.api.side_container.image.pullPolicy }}
|
|
resources:
|
|
{{ toYaml .Values.api.side_container.resources | indent 10 }}
|
|
ports:
|
|
- containerPort: 4888
|
|
name: scrape
|
|
{{- end }}
|