Bagage is the bridge between our users and garage, it enables them to synchronize files that matter for them from their computer to garage through WebDAV
Find a file
2021-09-03 10:49:05 +02:00
.gitignore Refactor the codebase 2021-08-23 20:40:03 +02:00
auth_basic.go Refactor the codebase 2021-08-23 20:40:03 +02:00
auth_ldap.go Add support for directory creation 2021-08-23 21:55:52 +02:00
auth_s3.go Refactor the codebase 2021-08-23 20:40:03 +02:00
config.go Refactor the codebase 2021-08-23 20:40:03 +02:00
Dockerfile Handle missing trailing slashes + Add Dockerfile 2021-08-20 17:28:10 +02:00
error.go Refactor the codebase 2021-08-23 20:40:03 +02:00
go.mod Initial commit 2021-08-19 22:12:12 +02:00
go.sum Initial commit 2021-08-19 22:12:12 +02:00
main.go Refactor the codebase 2021-08-23 20:40:03 +02:00
middleware.go Refactor the codebase 2021-08-23 20:40:03 +02:00
README.md Add a README file 2021-08-31 10:44:22 +02:00
s3_file.go Refactor the codebase 2021-08-23 20:40:03 +02:00
s3_fs.go Fix renaming 2021-09-03 10:49:05 +02:00
s3_path.go Refactor the codebase 2021-08-23 20:40:03 +02:00
s3_stat.go Refactor the codebase 2021-08-23 20:40:03 +02:00
webdav.go Refactor the codebase 2021-08-23 20:40:03 +02:00

bagage

This is a technical preview, use it a your own risk, expect bugs and missing features.

Bagage will be a service to access your documents everywhere.

Currently, it is only a WebDAV to S3 proxy. Later, it may propose a web interface and support synchronization with the Nextcloud client.

how it works

bagage exposes a webdav endpoint behind an HTTP basic auth. Credentials provided through basic auth are used to authenticate on the LDAP server, then 2 keys garage_s3_access_key and garage_s3_secret_key are fetched from the user's LDAP profile to authenticate against the S3 server.

For now, these entries must be manually/externally added to the LDAP server prior using the service.

configuration

bagage is configured through environment variables. You can get all the keys and their default values in the config.go file.

running it

You need a S3 endpoint and a LDAP server running. Once you correctly set your environment variables, you can simply run it:

go run .

docker

A simple dockerfile is proposed to build a binary if you want.