From 51a68c31ff6d9bb4dc96500c158ea9968680703a Mon Sep 17 00:00:00 2001 From: Noel Georgi Date: Thu, 21 Apr 2022 15:35:15 +0530 Subject: [PATCH] chore: allow mounting files from the host Allow mounting files from host into extension services as per the [OCI spec](https://github.com/opencontainers/runtime-spec/blob/main/config.md#mounts) Signed-off-by: Noel Georgi --- internal/app/machined/pkg/system/services/extension.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/app/machined/pkg/system/services/extension.go b/internal/app/machined/pkg/system/services/extension.go index 5bdc56c9c..930c94fce 100644 --- a/internal/app/machined/pkg/system/services/extension.go +++ b/internal/app/machined/pkg/system/services/extension.go @@ -6,6 +6,7 @@ package services import ( "context" + "errors" "fmt" "os" "path/filepath" @@ -102,6 +103,13 @@ func (svc *Extension) Runner(r runtime.Runtime) (runner.Runner, error) { } for _, mount := range svc.Spec.Container.Mounts { + if _, err := os.Stat(mount.Source); err == nil { + // already exists, skip + continue + } else if !errors.Is(err, os.ErrNotExist) { + return nil, err + } + if err := os.MkdirAll(mount.Source, 0o700); err != nil { return nil, err }