No description
Find a file
padreug d794cf4394 Enhance deployment configuration with machine-specific templates and secrets management
Updated the .gitignore to include machine-specific configurations and secrets handling. Expanded the DEPLOYMENT-GUIDE.md to provide detailed instructions for adding new machines using a template, along with steps for managing encrypted secrets. Introduced example configuration files for boot settings and a sample WireGuard service, improving modularity and flexibility in the NixOS deployment process. Adjusted krops.nix to reference the correct path for machine-specific configurations.
2025-10-12 08:16:43 +02:00
config Enhance deployment configuration with machine-specific templates and secrets management 2025-10-12 08:16:43 +02:00
.gitignore Enhance deployment configuration with machine-specific templates and secrets management 2025-10-12 08:16:43 +02:00
DEPLOYMENT-GUIDE.md Enhance deployment configuration with machine-specific templates and secrets management 2025-10-12 08:16:43 +02:00
README.md Add krops multi-machine deployment configuration for nix-25.05 2025-09-30 11:05:52 +02:00

Krops Multi-Machine Deployment

This project deploys NixOS configurations to two machines using krops with nix-25.05.

Structure

.
├── krops.nix                      # Main deployment configuration
└── config/
    ├── machine1/
    │   └── configuration.nix      # Machine 1 NixOS config
    └── machine2/
        └── configuration.nix      # Machine 2 NixOS config

Setup

  1. Update target hostnames/IPs in krops.nix:

    • Change root@machine1.example.com to your machine1 address
    • Change root@machine2.example.com to your machine2 address
  2. Customize NixOS configurations in config/machine1/configuration.nix and config/machine2/configuration.nix

Usage

Deploy to a single machine:

nix-build ./krops.nix -A machine1 && ./result
nix-build ./krops.nix -A machine2 && ./result

Deploy to all machines:

nix-build ./krops.nix -A all && ./result

Requirements

  • SSH access to target machines as root
  • Target machines running NixOS
  • nix installed on the deployment machine