version: '3' env: HOST: bl@flo-homeserver HAGFISK_DIR: ~/hagfisk SERVICE_DIR: ~/.config/systemd/user tasks: build: desc: Build binary locally cmds: - echo "Building hagfisk binary..." - cargo build --release deploy: desc: Sync binary to server deps: [build] cmds: - ssh -q {{.HOST}} "rm -rf {{.HAGFISK_DIR}}/hagfisk" - echo "Syncing binary to remote..." - rsync -avz --progress ./target/release/hagfisk {{.HOST}}:{{.HAGFISK_DIR}}/hagfisk - echo "Restoring SELinux contexts..." - ssh -t -q {{.HOST}} "sudo restorecon -RF {{.HAGFISK_DIR}}" - ssh -q {{.HOST}} "systemctl --user daemon-reload" - ssh -q {{.HOST}} "systemctl --user restart hagfisk.service" enable-now-app: desc: Enable now service cmds: - ssh {{.HOST}} "systemctl --user enable --now hagfisk.service" start-app: desc: Start service on remote cmds: - ssh {{.HOST}} "systemctl --user start hagfisk.service" stop-app: desc: Stop service on remote cmds: - ssh {{.HOST}} "systemctl --user stop hagfisk.service" restart-app: desc: Restart service on remote cmds: - ssh {{.HOST}} "systemctl --user restart hagfisk.service" logs-app: desc: Stream logs from remote cmds: - ssh {{.HOST}} "journalctl --user -u hagfisk -f" ps-app: desc: Show status of hagfisk cmds: - ssh {{.HOST}} "systemctl --user status hagfisk.service" enable-now-ingest: desc: Enable now service cmds: - ssh {{.HOST}} "systemctl --user enable --now hagfisk-ingest.service hagfisk-ingest.timer" start-ingest: desc: Start service on remote cmds: - ssh {{.HOST}} "systemctl --user start hagfisk-ingest.service hagfisk-ingest.timer" stop-ingest: desc: Stop service on remote cmds: - ssh {{.HOST}} "systemctl --user stop hagfisk-ingest.service hagfisk-ingest.timer" restart-ingest: desc: Restart service on remote cmds: - ssh {{.HOST}} "systemctl --user restart hagfisk-ingest.service hagfisk-ingest.timer" logs-ingest: desc: Stream logs from remote cmds: - ssh {{.HOST}} "journalctl --user -u hagfisk-ingest -f" ps-ingest: desc: Show status of hagfisk cmds: - ssh {{.HOST}} "systemctl --user status hagfisk-ingest.service"