Skip to content

Commit e1b1923

Browse files
authored
feat: support object store credentials from file (#1946)
Signed-off-by: Anderson Entwistle <[email protected]>
1 parent 1ca0f40 commit e1b1923

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

.config/s3.config.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
'class' => '\OC\Files\ObjectStore\S3',
1010
'arguments' => array(
1111
'bucket' => getenv('OBJECTSTORE_S3_BUCKET'),
12-
'key' => getenv('OBJECTSTORE_S3_KEY') ?: '',
13-
'secret' => getenv('OBJECTSTORE_S3_SECRET') ?: '',
1412
'region' => getenv('OBJECTSTORE_S3_REGION') ?: '',
1513
'hostname' => getenv('OBJECTSTORE_S3_HOST') ?: '',
1614
'port' => getenv('OBJECTSTORE_S3_PORT') ?: '',
@@ -24,4 +22,20 @@
2422
)
2523
)
2624
);
25+
26+
if (getenv('OBJECTSTORE_S3_KEY_FILE') && file_exists(getenv('OBJECTSTORE_S3_KEY_FILE'))) {
27+
$CONFIG['objectstore']['arguments']['key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_KEY_FILE')));
28+
} elseif (getenv('OBJECTSTORE_S3_KEY')) {
29+
$CONFIG['objectstore']['arguments']['key'] = getenv('OBJECTSTORE_S3_KEY');
30+
} else {
31+
$CONFIG['objectstore']['arguments']['key'] = '';
32+
}
33+
34+
if (getenv('OBJECTSTORE_S3_SECRET_FILE') && file_exists(getenv('OBJECTSTORE_S3_SECRET_FILE'))) {
35+
$CONFIG['objectstore']['arguments']['secret'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_SECRET_FILE')));
36+
} elseif (getenv('OBJECTSTORE_S3_SECRET')) {
37+
$CONFIG['objectstore']['arguments']['secret'] = getenv('OBJECTSTORE_S3_SECRET');
38+
} else {
39+
$CONFIG['objectstore']['arguments']['secret'] = '';
40+
}
2741
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ secrets:
386386
file: ./postgres_user.txt # put postgresql username in this file
387387
```
388388

389-
Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DATABASE`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`, `REDIS_HOST_PASSWORD` and `SMTP_PASSWORD`.
389+
Currently, this is only supported for `NEXTCLOUD_ADMIN_PASSWORD`, `NEXTCLOUD_ADMIN_USER`, `MYSQL_DATABASE`, `MYSQL_PASSWORD`, `MYSQL_USER`, `POSTGRES_DB`, `POSTGRES_PASSWORD`, `POSTGRES_USER`, `REDIS_HOST_PASSWORD`, `SMTP_PASSWORD`, `OBJECTSTORE_S3_KEY`, and `OBJECTSTORE_S3_SECRET`.
390390

391391
If you set any group of values (i.e. all of `MYSQL_DATABASE_FILE`, `MYSQL_USER_FILE`, `MYSQL_PASSWORD_FILE`, `MYSQL_HOST`), the script will not use the corresponding group of environment variables (`MYSQL_DATABASE`, `MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_HOST`).
392392

0 commit comments

Comments
 (0)