* resource constraints: (fixes #895) - for cpu, only set cpu requests - for memory, set mem requests == mem limits - add missing resource constraints for minio and scheduled job - for crawler, set mem and cpu constraints per browser, scale based on browser instances per crawler - add comments in values.yaml for crawler values being multiplied - default values: bump crawler to 650 millicpu per browser instance just in case cleanup: remove unused entries from main backend configmap
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
apiVersion: apps/v1
 | 
						|
kind: Deployment
 | 
						|
metadata:
 | 
						|
  name: {{ .Values.name }}-frontend
 | 
						|
  namespace: {{ .Release.Namespace }}
 | 
						|
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    matchLabels:
 | 
						|
      app: {{ .Values.name }}
 | 
						|
      role: frontend
 | 
						|
  replicas: {{ .Values.frontend_num_replicas | default 1 }}
 | 
						|
  template:
 | 
						|
    metadata:
 | 
						|
      labels:
 | 
						|
        app: {{ .Values.name }}
 | 
						|
        role: frontend
 | 
						|
 | 
						|
      annotations:
 | 
						|
        # force helm to update the deployment each time
 | 
						|
        {{- if not .Values.backend_only }}
 | 
						|
        "helm.update": {{ randAlphaNum 5 | quote }}
 | 
						|
        {{- end }}
 | 
						|
 | 
						|
 | 
						|
    spec:
 | 
						|
      {{- if .Values.main_node_type }}
 | 
						|
      nodeSelector:
 | 
						|
        nodeType: {{ .Values.main_node_type }}
 | 
						|
      {{- end }}
 | 
						|
 | 
						|
      containers:
 | 
						|
        - name: nginx
 | 
						|
          image: {{ .Values.frontend_image }}
 | 
						|
          imagePullPolicy: {{ .Values.frontend_pull_policy }}
 | 
						|
          env:
 | 
						|
            - name: BACKEND_HOST
 | 
						|
              value: {{ .Values.name }}-backend
 | 
						|
 | 
						|
            - name: CRAWLER_FQDN_SUFFIX
 | 
						|
              value: ".{{ .Values.crawler_namespace }}.svc.cluster.local"
 | 
						|
 | 
						|
            - name: CRAWLER_SVC_SUFFIX
 | 
						|
              value: ".crawl-$crawl"
 | 
						|
 | 
						|
            - name: NGINX_ENTRYPOINT_WORKER_PROCESSES_AUTOTUNE
 | 
						|
              value: "1"
 | 
						|
 | 
						|
            {{- if .Values.minio_local }}
 | 
						|
            - name: LOCAL_MINIO_HOST
 | 
						|
              value: "{{ .Values.minio_host }}"
 | 
						|
 | 
						|
            - name: LOCAL_BUCKET
 | 
						|
              value: "{{ .Values.minio_local_bucket_name }}"
 | 
						|
            {{- end }}
 | 
						|
 | 
						|
          resources:
 | 
						|
            limits:
 | 
						|
              memory: {{ .Values.frontend_memory }}
 | 
						|
 | 
						|
            requests:
 | 
						|
              cpu: {{ .Values.frontend_cpu }}
 | 
						|
              memory: {{ .Values.frontend_memory }}
 | 
						|
 | 
						|
          readinessProbe:
 | 
						|
            httpGet:
 | 
						|
              path: /healthz
 | 
						|
              port: 8880
 | 
						|
            failureThreshold: 3
 | 
						|
            initialDelaySeconds: 10
 | 
						|
            periodSeconds: 10
 | 
						|
            successThreshold: 1
 | 
						|
            timeoutSeconds: 1
 | 
						|
---
 | 
						|
 | 
						|
apiVersion: v1
 | 
						|
kind: Service
 | 
						|
 | 
						|
metadata:
 | 
						|
  namespace: {{ .Release.Namespace }}
 | 
						|
  name: {{ .Values.name }}-frontend
 | 
						|
  labels:
 | 
						|
    app: {{ .Values.name }}
 | 
						|
    role: frontend
 | 
						|
 | 
						|
{{- if .Values.service }}
 | 
						|
  {{- if .Values.service.annotations }}
 | 
						|
  annotations:
 | 
						|
  {{- range $key, $val := .Values.service.annotations }}
 | 
						|
    {{ $key }}: {{ $val | quote }}
 | 
						|
  {{- end }}
 | 
						|
  {{- end }}
 | 
						|
{{- end }}
 | 
						|
 | 
						|
spec:
 | 
						|
  selector:
 | 
						|
    app: {{ .Values.name }}
 | 
						|
    role: frontend
 | 
						|
 | 
						|
  {{- if .Values.local_service_port }}
 | 
						|
  type: NodePort
 | 
						|
  {{- end }}
 | 
						|
 | 
						|
  ports:
 | 
						|
    - protocol: TCP
 | 
						|
      port: 80
 | 
						|
      name: frontend
 | 
						|
      {{- if .Values.local_service_port }}
 | 
						|
      nodePort: {{ .Values.local_service_port }}
 | 
						|
      {{- end }}
 | 
						|
 |