2023-09-04 22:09:40 +02:00
|
|
|
{ config, pkgs, ... }:
|
2023-08-22 15:57:49 +02:00
|
|
|
|
2023-09-04 21:59:04 +02:00
|
|
|
# Mounts the /ceph filesystem at boot
|
2023-08-22 15:57:49 +02:00
|
|
|
{
|
2023-08-29 11:27:50 +02:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
ceph-client
|
|
|
|
fio # For benchmarks
|
|
|
|
];
|
2023-08-22 15:57:49 +02:00
|
|
|
|
|
|
|
# We need the ceph module loaded as the mount.ceph binary fails to run the
|
|
|
|
# modprobe command.
|
|
|
|
boot.kernelModules = [ "ceph" ];
|
|
|
|
|
2023-09-04 21:36:31 +02:00
|
|
|
age.secrets.cephUser.file = ../../secrets/ceph-user.age;
|
2023-08-23 17:18:17 +02:00
|
|
|
|
2023-08-22 15:57:49 +02:00
|
|
|
fileSystems."/ceph" = {
|
|
|
|
fsType = "ceph";
|
2023-08-23 17:18:17 +02:00
|
|
|
device = "user@9c8d06e0-485f-4aaf-b16b-06d6daf1232b.cephfs=/";
|
|
|
|
options = [
|
|
|
|
"mon_addr=10.0.40.40"
|
2023-09-04 21:36:31 +02:00
|
|
|
"secretfile=${config.age.secrets.cephUser.path}"
|
2023-08-23 17:18:17 +02:00
|
|
|
];
|
2023-08-22 15:57:49 +02:00
|
|
|
};
|
2024-07-23 14:25:09 +02:00
|
|
|
|
|
|
|
services.cachefilesd.enable = true;
|
|
|
|
|
|
|
|
fileSystems."/cache" = {
|
|
|
|
fsType = "ceph";
|
|
|
|
device = "user@9c8d06e0-485f-4aaf-b16b-06d6daf1232b.cephfs=/";
|
|
|
|
options = [
|
|
|
|
"fsc"
|
|
|
|
"mon_addr=10.0.40.40"
|
|
|
|
"secretfile=${config.age.secrets.cephUser.path}"
|
|
|
|
];
|
|
|
|
};
|
2023-08-22 15:57:49 +02:00
|
|
|
}
|