diff options
| author | Max Resnick <max@ofmax.li> | 2024-04-15 22:23:59 -0700 |
|---|---|---|
| committer | Max Resnick <max@ofmax.li> | 2024-04-20 22:07:25 -0700 |
| commit | 948a7398906cb8aba21b5538f7b6906a6aa1df96 (patch) | |
| tree | 956498d304897f3856d028a87e48b8454b2dbc00 /internal/admin/model.go | |
| parent | 506cef4bb4cc2cfa1eb1bdf9390706f6b35bff70 (diff) | |
| download | go-git-server-948a7398906cb8aba21b5538f7b6906a6aa1df96.tar.gz | |
feat: readonly fs support, policy built in temp
Diffstat (limited to 'internal/admin/model.go')
| -rw-r--r-- | internal/admin/model.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/admin/model.go b/internal/admin/model.go index fef73ca..ee65045 100644 --- a/internal/admin/model.go +++ b/internal/admin/model.go @@ -127,6 +127,27 @@ func loadLocalFile(path string) ([]byte, error) { return configBytes, nil } +// setupPolicyFile +func setupPolicyFile(src string) (string, error) { + workingPolicyFile, err := os.CreateTemp("", "go-git-server-policy") + if err != nil { + return "", fmt.Errorf("coudn't read base policy %w", err) + } + defer workingPolicyFile.Close() + basePolicy, err := os.ReadFile(src) + if err != nil { + return "", fmt.Errorf("coudn't read base policy %w", err) + } + written, err := workingPolicyFile.Write(basePolicy) + if err != nil { + return "", fmt.Errorf("encountered error writting policy %w", err) + } + if written == 0 { + return "", fmt.Errorf("nothing was written") + } + return workingPolicyFile.Name(), nil +} + // loadServerConfig configPath should be the absolutepath to the configmap if it's not in a repo func loadServerConfig(mgmtRepo bool, baseDir, configPath string) (*ServerRepos, error) { var ( |