From d8710d70b5a19815eee96bff3857888b007259ff Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Mon, 21 Aug 2023 12:27:18 +0100
Subject: [PATCH] Add missing file

---
 upload/fs.go | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 upload/fs.go

diff --git a/upload/fs.go b/upload/fs.go
new file mode 100644
index 0000000..4e936ea
--- /dev/null
+++ b/upload/fs.go
@@ -0,0 +1,34 @@
+package upload
+
+import (
+	"context"
+	"os"
+	"path/filepath"
+
+	"git.autistici.org/ai3/tools/acmeserver/common"
+)
+
+type FSStorage struct {
+	path string
+}
+
+func newFS(config *FSConfig) (*FSStorage, error) {
+	return &FSStorage{
+		path: config.Path,
+	}, nil
+}
+
+func (s *FSStorage) Upload(_ context.Context, path string, creds *common.Credentials) error {
+	dir := filepath.Join(s.path, path)
+	if err := os.MkdirAll(dir, 0700); err != nil {
+		return err
+	}
+
+	for _, b := range credsToBatch(dir, creds) {
+		if err := os.WriteFile(b.path, []byte(b.data), 0600); err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
-- 
GitLab