Davlet Panech 411261ae81 debian: add Docker service to helm chart
* New pod stx-docker running "docker-in-docker" image
* New optional env var STX_INSECURE_DOCKER_REGISTRIES to disable SSL
  validation for select registries in stx-docker
* stx-builder: install docker client in POD image
* stx-builder: add env vars that point docker client to the new docker
  service POD

TESTS
=====
* Rebuild all build images
* Make sure docker works within "builder" pod:
  - docker pull
  - docker build
  - docker login
  - docker push
  - docker run with volume mounts under /localdisk/{loadbuild,designer},
    make sure these location are visible and can be mounted by the
    docker service

Story: 2009897
Task: 44691
Change-Id: I2b51c5f90bf2dee1ed6a159c60d76fc05e1f325a
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
2022-03-10 13:32:37 -05:00

74 lines
2.4 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "stx-builder.fullname" . }}
labels:
{{- include "stx-builder.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "stx-builder.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "stx-builder.selectorLabels" . | nindent 8 }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.global.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
tty: true
env:
- name: DOCKER_HOST
value: "tcp://{{ .Release.Name }}-stx-docker"
volumeMounts:
- name: {{ .Values.volumeMounts.workspace.name }}
mountPath: {{ .Values.volumeMounts.workspace.mountPath}}
- name: {{ .Values.volumeMounts.userSetting.name }}
mountPath: {{ .Values.volumeMounts.userSetting.mountPath}}
- name: {{ .Values.volumeMounts.mirror.name }}
mountPath: {{ .Values.volumeMounts.mirror.mountPath }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
- name: {{ .Values.volumes.workspace.name }}
hostPath:
path: {{ .Values.global.hostDir }}{{ .Values.volumes.workspace.hostPath.path }}
- name: {{ .Values.volumes.userSetting.name }}
configMap:
name: {{ .Values.volumes.userSetting.configMapName }}
- name: {{ .Values.volumes.mirror.name }}
hostPath:
path: {{ .Values.global.hostDir }}{{ .Values.volumes.mirror.hostPath.path }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}