Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .werf/defines/image-mountpoints.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# add mount points from file mount_points.yaml in the build dir

{{- define "image mount points" }}
{{- $mountPoints := ($.Files.Get (printf "images/%s/mount-points.yaml" $.ImageName) | fromYaml) }}
{{- range $v := $mountPoints.dirs }}
- add: /tools/mounts/mountdir
to: {{ $v }}
owner: 64535
group: 64535
stageDependencies:
install:
- "**/*"
{{- end }}
{{- range $v := $mountPoints.files }}
- add: /tools/mounts/mountfile
to: {{ $v }}
owner: 64535
group: 64535
stageDependencies:
install:
- "**/*"
{{- end }}
{{- end }}
1 change: 1 addition & 0 deletions .werf/stages/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

{{- range $path, $content := $ImagesBuildFiles }}
{{ $ctx := (dict "ImageName" ($path | split "/")._1) }}
{{- $_ := set $ctx "Files" $.Files }}
---
{{- /* For Dockerfile just render it from the folder. */ -}}
{{- if not (regexMatch "/werf.inc.yaml$" $path) }}
Expand Down
2 changes: 2 additions & 0 deletions images/image-with-mountpoints-example/mount-points.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
dirs:
- /mount-dir-example
8 changes: 8 additions & 0 deletions images/image-with-mountpoints-example/werf.inc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{ /*
---
image: mpexample
from: ealen/echo-server:0.7.0
git:
{{- include "image mount points" . }}

/* }}
38 changes: 38 additions & 0 deletions templates/deployment-mountpoints-example.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{{- /*
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mpexample
namespace: {{ .Chart.Name }}
{{- include "helm_lib_module_labels" (list . (dict "app" "echoserver")) | nindent 2 }}
spec:
revisionHistoryLimit: 2
replicas: {{ .Values.echoserver.replicas }}
selector:
matchLabels:
app: mpexample
template:
metadata:
labels:
app: mpexample
spec:
priorityClassName: develop
containers:
- image: {{ include "helm_lib_module_image" (list . "mpexample") }}
imagePullPolicy: IfNotPresent
name: echoserver
ports:
- containerPort: 8080
name: http
env:
- name: PORT
value: "8080"
volumeMounts:
- name: example
mountPath: /mount-dir-example
volumes:
- name: example
emptyDir:
sizeLimit: 50Mi
*/ -}}
3 changes: 3 additions & 0 deletions tools/mounts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Mount primitives

This dir contains empty dir and empty file to use as mountpoints in the images.
Empty file.
Empty file added tools/mounts/mountfile
Empty file.