Add support for non-AWS S3 storage endpoints and auth

This commit is contained in:
Gabe Kangas
2020-06-09 14:01:42 -07:00
parent c4b6478b7b
commit c605ea6570
3 changed files with 22 additions and 2 deletions

View File

@@ -44,6 +44,7 @@ type IPFS struct {
type S3 struct {
Enabled bool `yaml:"enabled"`
Endpoint string `yaml:"endpoint"`
AccessKey string `yaml:"accessKey"`
Secret string `yaml:"secret"`
Bucket string `yaml:"bucket"`
@@ -75,6 +76,20 @@ func checkConfig(config Config) {
panic("S3 and IPFS support cannot be enabled at the same time. Choose one.")
}
if config.S3.Enabled {
if config.S3.AccessKey == "" || config.S3.Secret == "" {
panic("S3 support requires an access key and secret.")
}
if config.S3.Region == "" || config.S3.Endpoint == "" {
panic("S3 support requires a region and endpoint.")
}
if config.S3.Bucket == "" {
panic("S3 support requires a bucket created for storing public video segments.")
}
}
if !fileExists(config.PrivateHLSPath) {
panic(fmt.Sprintf("%s does not exist.", config.PrivateHLSPath))
}