mirror of
https://github.com/helm/charts.git
synced 2026-08-20 04:47:32 +00:00
141 lines
5.2 KiB
YAML
141 lines
5.2 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "cloudserver.fullname" . }}
|
|
labels:
|
|
app: {{ template "cloudserver.name" . }}
|
|
chart: {{ template "cloudserver.chart" . }}
|
|
component: api
|
|
release: {{ .Release.Name }}
|
|
heritage: {{ .Release.Service }}
|
|
spec:
|
|
{{- if not .Values.api.autoscaling.enabled }}
|
|
replicas: {{ .Values.api.replicaCount }}
|
|
{{- end }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ template "cloudserver.name" . }}
|
|
component: api
|
|
release: {{ .Release.Name }}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/config: {{ include (print $.Template.BasePath "/api-configmap.yaml") . | sha256sum }}
|
|
labels:
|
|
app: {{ template "cloudserver.name" . }}
|
|
component: api
|
|
release: {{ .Release.Name }}
|
|
spec:
|
|
serviceAccountName: {{ template "cloudserver.serviceAccountName.api" . }}
|
|
containers:
|
|
- name: {{ .Chart.Name }}
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
terminationMessagePolicy: FallbackToLogsOnError
|
|
ports:
|
|
- name: http
|
|
containerPort: 8000
|
|
env:
|
|
- name: REMOTE_MANAGEMENT_DISABLE
|
|
value: "1"
|
|
{{- range $key, $value := .Values.env }}
|
|
- name: {{ $key | upper | replace "." "_" }}
|
|
value: {{ $value | quote }}
|
|
{{- end }}
|
|
- name: S3METADATA
|
|
value: "mongodb"
|
|
- name: MONGODB_HOSTS
|
|
value: "{{ template "mongodb-replicaset.url" . }}"
|
|
- name: MONGODB_RS
|
|
value: "{{ default "rs0" (index .Values "mongodb-replicaset" "replicaSet") }}"
|
|
- name: S3_LOCATION_FILE
|
|
value: "/etc/config/locationConfig.json"
|
|
- name: DATA_HOST
|
|
value: {{ template "cloudserver.localdata.fullname" . }}
|
|
- name: REDIS_HOST
|
|
value: "{{- printf "%s-%s" .Release.Name "redis-ha" | trunc 63 | trimSuffix "-" -}}"
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
- name: REDIS_SENTINELS
|
|
value: "{{ template "redis-ha.url" . }}"
|
|
- name: REDIS_HA_NAME
|
|
value: "{{ index .Values "redis-ha" "redis" "masterGroupName" }}"
|
|
- name: LOG_LEVEL
|
|
value: {{ .Values.api.logLevel }}
|
|
- name: ENDPOINT
|
|
value: "{{ template "cloudserver.fullname" . }},{{ .Values.api.endpoint }}"
|
|
- name: HEALTHCHECKS_ALLOWFROM
|
|
value: "0.0.0.0/0"
|
|
{{- if .Values.api.proxy.http }}
|
|
- name: http_proxy
|
|
value: "{{ .Values.api.proxy.http }}"
|
|
- name: HTTP_PROXY
|
|
value: "{{ .Values.api.proxy.http }}"
|
|
- name: https_proxy
|
|
value: "{{- if .Values.api.proxy.https }}{{ .Values.api.proxy.https }}{{- else }}{{ .Values.api.proxy.http }}{{- end }}"
|
|
- name: HTTPS_PROXY
|
|
value: "{{- if .Values.api.proxy.https }}{{ .Values.api.proxy.https }}{{- else }}{{ .Values.api.proxy.http }}{{- end }}"
|
|
{{- else if .Values.api.proxy.https }}
|
|
- name: https_proxy
|
|
value: "{{ .Values.api.proxy.https }}"
|
|
- name: HTTPS_PROXY
|
|
value: "{{ .Values.api.proxy.https }}"
|
|
{{- end }}
|
|
{{- if .Values.api.proxy.caCert }}
|
|
- name: NODE_EXTRA_CA_CERTS
|
|
value: "/ssl/ca.crt"
|
|
{{- end }}
|
|
{{- if .Values.api.proxy.no_proxy }}
|
|
- name: no_proxy
|
|
value: "{{ .Values.api.proxy.no_proxy }}"
|
|
- name: NO_PROXY
|
|
value: "{{ .Values.api.proxy.no_proxy }}"
|
|
{{- end }}
|
|
- name: SCALITY_ACCESS_KEY_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "cloudserver.fullname" . }}
|
|
key: accessKey
|
|
- name: SCALITY_SECRET_ACCESS_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "cloudserver.fullname" . }}
|
|
key: secretKey
|
|
args: ['npm', 'run', 'start_s3server']
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /_/healthcheck
|
|
port: http
|
|
initialDelaySeconds: 60
|
|
volumeMounts:
|
|
- name: location-config
|
|
mountPath: /etc/config
|
|
{{- if .Values.api.proxy.caCert }}
|
|
- name: proxy-cert
|
|
mountPath: "/ssl"
|
|
readOnly: true
|
|
{{- end }}
|
|
resources:
|
|
{{ toYaml .Values.api.resources | indent 12 }}
|
|
{{- with .Values.api.nodeSelector }}
|
|
nodeSelector:
|
|
{{ toYaml . | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.api.affinity }}
|
|
affinity:
|
|
{{ toYaml .Values.api.affinity | indent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.api.tolerations }}
|
|
tolerations:
|
|
{{ toYaml . | indent 8 }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: location-config
|
|
configMap:
|
|
name: {{ template "cloudserver.fullname" . }}
|
|
{{- if .Values.api.proxy.caCert }}
|
|
- name: proxy-cert
|
|
secret:
|
|
secretName: {{ template "cloudserver.fullname" . }}-cacert
|
|
{{- end }}
|