Davlet Panech ae1ba8e3d7 stx: docker pod: persist /var/lib/docker
Make sure docker pod's container FS layers are persisted on the host.
Previously, we persisted /var/run/docker in $BUILD_HOME/docker/run, but
that directory contains only sockets and similar files internal to the
docker daemon. This patch changes the helm chart to persist
/var/lib/docker in $BUILD_HOME/docker/var ; that directory contains
docker FS layers & docker images generated during the build.

TESTS
================================
* Start stx-tools containers
* Pull an image inside "stx shell"
* Stop stx-tools containers
* Make $BUILD_HOME/docker/var is not empty
* Re-start stx-tools containers & make sure the previously-pulled image
  still exists and didn't disappear

Story: 2010055
Task: 47861

Change-Id: Ibbd60f48989ecd9663b98da3167e491a9c2493c7
Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
2023-04-20 10:35:50 -04:00

77 lines
2.3 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "stx-docker.fullname" . }}
labels:
{{- include "stx-docker.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "stx-docker.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "stx-docker.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.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
tty: true
env:
- name: DOCKER_TLS_CERTDIR
value: ""
args:
{{- range .Values.insecureRegistries }}
- "--insecure-registry={{ . }}"
{{- end }}
{{- if .Values.mtu }}
- "--mtu={{ .Values.mtu }}"
{{- end }}
volumeMounts:
- name: shared-workspace
mountPath: {{ .Values.volumes.sharedWorkspace.mountPath }}
- name: docker-var
mountPath: {{ .Values.volumes.dockerVar.mountPath }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
dnsConfig:
{{- toYaml .Values.dnsConfig | nindent 8 }}
volumes:
- name: shared-workspace
hostPath:
path: {{ .Values.global.hostDir }}{{ .Values.volumes.sharedWorkspace.hostPath }}
- name: docker-var
hostPath:
path: {{ .Values.global.hostDir }}{{ .Values.volumes.dockerVar.hostPath }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}