replace deploy-rs CI with Comin pull-based deployment
- Add Comin service for cryodev-main (polls git repo, auto-deploys) - Fix cryodev-pi Comin URL (cryodev-server.git -> cryodev.git) - Remove deploy-rs from CI pipeline (was insecure with shared runner) - Remove deploy SSH key, root SSH login, sudo rules for gitea-runner - Revert PermitRootLogin back to 'no' - CI now only runs flake-check + build (no deploy) - Deployment happens via Comin (both hosts poll and self-deploy)
This commit is contained in:
parent
ed806bf5fb
commit
c45a603d1c
11 changed files with 37 additions and 50 deletions
|
|
@ -1 +0,0 @@
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFIPGMqOV+YrGle8X7/hctW4Sha/bzeTsTP9AcDN9bA2 forgejo-deploy
|
||||
24
hosts/cryodev-main/services/comin.nix
Normal file
24
hosts/cryodev-main/services/comin.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
outputs,
|
||||
constants,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
outputs.nixosModules.comin
|
||||
];
|
||||
|
||||
services.comin = {
|
||||
enable = true;
|
||||
remotes = [
|
||||
{
|
||||
name = "origin";
|
||||
url = "https://${constants.services.forgejo.fqdn}/steffen/cryodev.git";
|
||||
branches.main.name = "main";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,17 +1,15 @@
|
|||
{
|
||||
imports = [
|
||||
# Stufe 1: Services ohne externe Abhaengigkeiten
|
||||
./comin.nix
|
||||
./forgejo.nix
|
||||
./forgejo-runner.nix
|
||||
./headplane.nix
|
||||
./headscale.nix
|
||||
./mailserver.nix
|
||||
./netdata.nix
|
||||
./nginx.nix
|
||||
./openssh.nix
|
||||
./sops.nix
|
||||
|
||||
# Stufe 2: Erst aktivieren wenn Headscale/Forgejo laufen und echte Secrets existieren
|
||||
./forgejo-runner.nix # braucht: forgejo-runner/token (Forgejo)
|
||||
./headplane.nix # braucht: headplane/agent_pre_authkey (Headscale)
|
||||
./tailscale.nix # braucht: tailscale/auth-key (Headscale)
|
||||
./tailscale.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,9 +9,4 @@
|
|||
];
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Root SSH key for deploy-rs (key-only, no password)
|
||||
users.users.root.openssh.authorizedKeys.keyFiles = [
|
||||
../deploy-key.pub
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue