nixos/nextcloud: support SSE-C for S3 primary storage
Add configuration option to enable [server-side encryption with customer-provided keys][1] (SSE-C) when using S3 as primary storage in Nextcloud. [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
This commit is contained in:
parent
3a558d658f
commit
a2eeaddea2
2 changed files with 24 additions and 0 deletions
|
@ -184,6 +184,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
- `mastodon` now supports connection to a remote `PostgreSQL` database.
|
- `mastodon` now supports connection to a remote `PostgreSQL` database.
|
||||||
|
|
||||||
|
- `nextcloud` has an option to enable SSE-C in S3.
|
||||||
|
|
||||||
- `services.peertube` now requires you to specify the secret file `secrets.secretsFile`. It can be generated by running `openssl rand -hex 32`.
|
- `services.peertube` now requires you to specify the secret file `secrets.secretsFile`. It can be generated by running `openssl rand -hex 32`.
|
||||||
Before upgrading, read the release notes for PeerTube:
|
Before upgrading, read the release notes for PeerTube:
|
||||||
- [Release v5.0.0](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.0.0)
|
- [Release v5.0.0](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.0.0)
|
||||||
|
|
|
@ -514,6 +514,27 @@ in {
|
||||||
`http://hostname.domain/bucket` instead.
|
`http://hostname.domain/bucket` instead.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
sseCKeyFile = mkOption {
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
default = null;
|
||||||
|
example = "/var/nextcloud-objectstore-s3-sse-c-key";
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
If provided this is the full path to a file that contains the key
|
||||||
|
to enable [server-side encryption with customer-provided keys][1]
|
||||||
|
(SSE-C).
|
||||||
|
|
||||||
|
The file must contain a random 32-byte key encoded as a base64
|
||||||
|
string, e.g. generated with the command
|
||||||
|
|
||||||
|
```
|
||||||
|
openssl rand 32 | base64
|
||||||
|
```
|
||||||
|
|
||||||
|
Must be readable by user `nextcloud`.
|
||||||
|
|
||||||
|
[1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -773,6 +794,7 @@ in {
|
||||||
'use_ssl' => ${boolToString s3.useSsl},
|
'use_ssl' => ${boolToString s3.useSsl},
|
||||||
${optionalString (s3.region != null) "'region' => '${s3.region}',"}
|
${optionalString (s3.region != null) "'region' => '${s3.region}',"}
|
||||||
'use_path_style' => ${boolToString s3.usePathStyle},
|
'use_path_style' => ${boolToString s3.usePathStyle},
|
||||||
|
${optionalString (s3.sseCKeyFile != null) "'sse_c_key' => nix_read_secret('${s3.sseCKeyFile}'),"}
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue