Compare commits
2 commits
e69fd5856f
...
e976b14d19
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e976b14d19 | ||
![]() |
fff47629f2 |
11 changed files with 32 additions and 20 deletions
|
@ -7,7 +7,7 @@
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules/network/network-congenital-optimist.nix
|
./network-congenital-optimist.nix
|
||||||
|
|
||||||
# Security modules
|
# Security modules
|
||||||
../../modules/security/ssh-keys.nix
|
../../modules/security/ssh-keys.nix
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./common.nix
|
../../modules/network/common.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Machine-specific network configuration
|
# Machine-specific network configuration
|
|
@ -4,9 +4,9 @@
|
||||||
# Security modules
|
# Security modules
|
||||||
../../modules/security/ssh-keys.nix
|
../../modules/security/ssh-keys.nix
|
||||||
# Network configuration
|
# Network configuration
|
||||||
../../modules/network/network-sleeper-service.nix
|
./network-sleeper-service.nix
|
||||||
# Services
|
# Services
|
||||||
../../modules/services/nfs.nix
|
./nfs.nix
|
||||||
../../modules/system/transmission.nix
|
../../modules/system/transmission.nix
|
||||||
|
|
||||||
# User modules - server only needs sma user
|
# User modules - server only needs sma user
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./common.nix
|
../../modules/network/common.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Machine-specific network configuration
|
# Machine-specific network configuration
|
|
@ -1,5 +1,5 @@
|
||||||
# Common Network Configuration
|
# Common Network Configuration
|
||||||
# Shared networking settings across all machines
|
# Minimal shared networking settings across all machines
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -8,11 +8,10 @@
|
||||||
# Enable nftables by default for all machines
|
# Enable nftables by default for all machines
|
||||||
nftables.enable = true;
|
nftables.enable = true;
|
||||||
|
|
||||||
# Common firewall settings
|
# Basic firewall settings (SSH handled by security/ssh-keys.nix)
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# SSH is allowed by default on all machines
|
# SSH port is configured in modules/security/ssh-keys.nix
|
||||||
allowedTCPPorts = [ 22 ];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -21,13 +20,6 @@
|
||||||
# Tailscale VPN for secure remote access
|
# Tailscale VPN for secure remote access
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
|
|
||||||
# SSH access with secure defaults
|
# Note: SSH configuration is handled by modules/security/ssh-keys.nix
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -3,6 +3,9 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# Firewall configuration for SSH
|
||||||
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
|
||||||
# Global SSH daemon configuration
|
# Global SSH daemon configuration
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
8
notes.md
8
notes.md
|
@ -1,5 +1,9 @@
|
||||||
# Notes to be use to write blog post
|
# Notes to be use to write blog post
|
||||||
|
|
||||||
deployment script: rsync -av --delete /home/geir/Home-lab/ sma@sleeper-service:/tmp/home-lab-config/ and ssh sma@sleeper-service "cd /tmp/home-lab-config && sudo nixos-rebuild boot --flake .#sleeper-service"
|
|
||||||
|
|
||||||
like the best approach maye we should add a todo for making scripts or research deploy-rs
|
- research deploy-rs
|
||||||
|
|
||||||
|
# Expansion
|
||||||
|
## Hardware
|
||||||
|
- https://sipeed.com/nanocluster - ai cluster
|
||||||
|
- https://www.bee-link.com/products/beelink-me-mini-n150?variant=47599172845810 - upgrade nas/storage
|
15
plan.md
15
plan.md
|
@ -515,7 +515,20 @@ Home-lab/
|
||||||
- [ ] Configuration validation tests
|
- [ ] Configuration validation tests
|
||||||
- [ ] Deployment automation
|
- [ ] Deployment automation
|
||||||
- [ ] Monitoring and alerting
|
- [ ] Monitoring and alerting
|
||||||
### 6.3 Writeup
|
|
||||||
|
### 6.3 Advanced Deployment Strategies
|
||||||
|
- [ ] **Research deploy-rs**: Investigate deploy-rs as alternative to custom lab script
|
||||||
|
- Evaluate Rust-based deployment tool for NixOS flakes
|
||||||
|
- Compare features: parallel deployment, rollback capabilities, health checks
|
||||||
|
- Assess integration with existing SSH key management and Tailscale network
|
||||||
|
- Consider migration path from current rsync + SSH approach
|
||||||
|
- [ ] **Convert lab script to Guile Scheme**: Explore functional deployment scripting
|
||||||
|
- Research Guile Scheme for system administration scripting
|
||||||
|
- Evaluate benefits: better error handling, functional composition, extensibility
|
||||||
|
- Design modular deployment pipeline with Scheme
|
||||||
|
- Consider integration with GNU Guix deployment patterns
|
||||||
|
- Plan migration strategy from current shell script implementation
|
||||||
|
### 6.4 Writeup
|
||||||
- [ ] Take all the knowledge we have amassed and make a blog post or a series of blog posts
|
- [ ] Take all the knowledge we have amassed and make a blog post or a series of blog posts
|
||||||
|
|
||||||
### Phase 7: goin pro
|
### Phase 7: goin pro
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue