diff --git a/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix b/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix index 54ddf1d..e52b7e8 100755 --- a/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix +++ b/modules/nixos/guests/opencloud/ceresOpenCloud/default.nix @@ -53,19 +53,36 @@ in opencloud = { path = [ pkgs.inotify-tools ]; }; - opencloud-copy-secrets = { + systemd.services.opencloud-copy-secrets = { description = "Copy secrets from virtiofs to local filesystem"; - before = [ "opencloud.service" ]; + before = [ + "opencloud-init-config.service" + "opencloud.service" + ]; requiredBy = [ "opencloud.service" ]; + after = [ "run-secrets.mount" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; }; script = '' + set -e + echo "Checking for secrets..." + + if [ ! -f /run/secrets/projectenv ]; then + echo "ERROR: /run/secrets/projectenv not found!" + ls -la /run/secrets/ || true + exit 1 + fi + + echo "Copying secrets..." mkdir -p /etc/opencloud-secrets - cp /run/secrets/projectenv /etc/opencloud-secrets/env + cp -v /run/secrets/projectenv /etc/opencloud-secrets/env chmod 755 /etc/opencloud-secrets chmod 644 /etc/opencloud-secrets/* + + echo "Secrets copied successfully" + cat /etc/opencloud-secrets/env ''; }; };