{"contents":"package s3\n\nimport (\n\t\"github.com/go-git/go-git/v5/storage\"\n\n\tknotconfig \"tangled.org/http-knot/config\"\n)\n\n// ModuleStorage implements storage.ModuleStorer.\n// For bare repos, submodules are uncommon; we create new S3Storage instances\n// namespaced under the parent repo.\ntype ModuleStorage struct {\n\ts3cfg knotconfig.S3\n\tdid string\n\trepo string\n}\n\nfunc (m *ModuleStorage) Module(name string) (storage.Storer, error) {\n\treturn NewStorage(m.s3cfg, m.did, m.repo+\"/modules/\"+name)\n}\n","path":"storage/s3/modules.go","ref":"main"}