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-11-19 20:35:38 +01:00
internal/encoding/ssh/filexfer Working on SFTP 2021-11-19 19:54:49 +01:00
s3 WIP DEBUG 2021-11-19 20:35:38 +01:00
sftp WIP DEBUG 2021-11-19 20:35:38 +01:00
.gitignore Working on SFTP 2021-11-19 19:54:49 +01:00
auth_basic.go Refactor the codebase 2021-08-23 20:40:03 +02:00
auth_ldap.go Working on SFTP 2021-11-19 19:54:49 +01:00
auth_s3.go Refactor the codebase 2021-08-23 20:40:03 +02:00
config.go Working on SFTP 2021-11-19 19:54:49 +01:00
Dockerfile Fix the Dockerfile 2021-09-03 10:53:06 +02:00
error.go Refactor the codebase 2021-08-23 20:40:03 +02:00
go.mod Working on SFTP 2021-11-19 19:54:49 +01:00
go.sum Working on SFTP 2021-11-19 19:54:49 +01:00
main.go Working on SFTP 2021-11-19 19:54:49 +01: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
webdav.go Working on SFTP 2021-11-19 19:54:49 +01: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.