99 Commits
Author SHA1 Message Date
dodox d40a3d4239 Update os-release branding to show nullpoint identity
- Add nullpoint branding to /etc/os-release PRETTY_NAME field
- Preserve original OS information as base system reference
- Create backup of original os-release file
- Display updated branding information during installation
2025-08-25 15:05:32 +02:00
dodox 0d21e43a8f also give root lsd and bpytop 2025-08-25 11:12:03 +02:00
dodox b582bb9574 better ascii logos 2025-08-25 11:07:39 +02:00
dodox 0809224963 Update to Nebula v1.9.6
Use latest stable release for improved performance and bug fixes
2025-08-24 20:32:05 +02:00
dodox 9ae5c8bbd0 Add cluster logo ASCII art to installer
Beautiful mesh network visualization for nullpoint cluster installer
2025-08-24 20:30:23 +02:00
dodox 370a46f9cf better icon for nullpoint cluster 2025-08-24 19:01:06 +02:00
dodox 50c56ad5f7 README h3 -> h2 2025-08-24 18:47:00 +02:00
dodox bb0514469d Properly implement remote nodes as GlusterFS clients
Remote nodes are now true GlusterFS clients:
- Only install glusterfs-client packages (not server)
- Don't run glusterd service
- Don't contribute storage bricks
- Mount volume as client from full nodes
- Perfect for edge locations with high latency

Full nodes are GlusterFS servers:
- Install and run glusterfs-server
- Contribute storage bricks
- Participate in replication
- Must be used in low-latency environments

This prevents replication delays - writes only wait for full nodes,
not remote clients. Remote nodes get eventual consistency.
2025-08-24 18:45:53 +02:00
dodox b3db6f0f82 Add remote node support to nullpoint cluster
- Full nodes: contribute storage, act as lighthouses
- Remote nodes: don't contribute storage, not lighthouses, but have full read/write access
- Expanded README with clearer feature descriptions
- Interactive node type selection during join
- Remote nodes useful for edge locations or low-storage devices
2025-08-24 18:41:54 +02:00
dodox 7bc8fb8f06 upd README 2025-08-24 18:34:43 +02:00
dodox 443c5a03c1 clusetr icon 2025-08-24 18:34:11 +02:00
dodox 9ee3b5b40f Minimize cluster section in README
Keep it simple - just the essentials:
- What it is: distributed storage with mesh networking
- How to run it: wget command
- How it works: preshared secret + lighthouse
- Where data goes: /data/storage/
2025-08-24 18:22:43 +02:00
dodox 3dec31c52e Make cluster setup more generic and flexible
- Accept list of lighthouse endpoints (DNS names or IPs)
- Remove specific HA setup references from README
- Add recommendation for redundant DNS in script prompts
- Add links to Nebula and GlusterFS documentation
- Support multiple lighthouse endpoints separated by commas
- More generic language suitable for any infrastructure setup
2025-08-24 18:21:50 +02:00
dodox 1d48721308 Simplify Nebula setup with DNS-based lighthouse discovery
- Use DNS domain for lighthouse discovery (works with HAProxy/Keepalived)
- All nodes are lighthouses by default for full redundancy
- Remove static_host_map complexity - DNS handles everything
- Ask for lighthouse domain during setup
- Allow disabling lighthouse mode for remote/edge nodes
- Simplified cluster secret: domain:port:ca_cert

This allows using existing HA infrastructure (DNS pointing to alive nodes)
instead of complex IP tracking and manual updates.
2025-08-24 18:18:37 +02:00
dodox 2c7bd4ac76 Replace WireGuard with Nebula for true mesh networking
- Switch from WireGuard point-to-point to Nebula overlay network
- Certificate-based trust with single CA for cluster authentication
- True mesh networking - all nodes can communicate directly
- Simplified joining process with lighthouse-based discovery
- Network range: 192.168.100.0/24 (lighthouse at .1)
- Auto-downloads and installs Nebula binaries
- Maintains GlusterFS replication across mesh nodes

Note: Certificate distribution requires manual step for security
2025-08-24 18:07:57 +02:00
dodox 402d997599 Fix WireGuard AllowedIPs for proper mesh networking
Change from /32 single-IP restrictions to full network range for all peers.
This enables proper all-to-all mesh communication while maintaining
security through preshared keys.
2025-08-24 17:54:35 +02:00
dodox 12e8546023 Add nullpoint cluster feature with WireGuard mesh and GlusterFS
- New cluster-setup.sh script for creating/joining distributed storage clusters
- Interactive menu: create new cluster or join existing
- WireGuard mesh networking with automatic IP allocation
- GlusterFS with full replication across all nodes
- Single-node start capability, scales up as nodes join
- Storage mounted at /data/storage/ with automatic firewall config
- Simple wget installer for post-nullpoint-install usage
2025-08-24 17:51:01 +02:00
dodox 46d79166a3 Fix Python 3.13 pip and improve user installations
- Add python3.13-pip package for pip support
- Move Claude Code and bpytop to user-only installations
- Add pip alias to use Python 3.13
- Add empty line to MOTD for better spacing
2025-08-18 22:35:37 +02:00
dodox 3f27ac8960 Add system upgrade, Docker, bpytop, and bash completion
- Add dnf upgrade at start for latest packages/kernel
- Install real Docker CE from official repository
- Install bpytop via Python 3.13
- Add bash-completion package and zsh compatibility
- Add user to docker group for permission
2025-08-18 22:31:08 +02:00
dodox 337ef1e54c Fix PATH export for ~/.local/bin
- Put ~/.local/bin at start of PATH
- Use proper quoting format expected by Claude installer
2025-08-18 22:16:50 +02:00
dodox 3ba8f9d1d4 Use Claude Code official installer
- Replace Node.js/npm installation with Claude's official installer
- Cleaner and handles dependencies automatically
2025-08-18 22:11:57 +02:00
dodox 5de21476ad Update Python aliases in zshrc
- Add python3.13 alias pointing to python
- Add various Python version aliases (py13, py9)
- Add Python venv management aliases
2025-08-18 21:48:30 +02:00
dodox dc0c37c40d Remove old npm from dnf install
- Only install modern Node.js 20 + npm from NodeSource
- Avoid conflict between old and new npm versions
2025-08-18 21:47:39 +02:00
dodox 12fe681efa Install Node.js 20 LTS before Claude Code
- Use NodeSource repository for modern Node.js 20
- Replaces outdated Node.js 16 from AlmaLinux repos
- Ensures Claude Code compatibility
2025-08-18 21:47:17 +02:00
dodoxandClaude 6e47dfb7b6 Add Python 3.13 installation
- Install python3.13 package to match dotfiles alias
- Ensures 'python' alias points to working Python 3.13

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:43:51 +02:00
dodoxandClaude c4044139d1 Add npm and Claude Code installation
- Install npm package via dnf
- Install Claude Code globally via npm
- Add proper error handling for both installations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:41:17 +02:00
dodoxandClaude d91a7e9426 Improve end-of-install instructions
- Clear numbered steps for first boot process
- Emphasize entering passphrase twice (RAID1 setup)
- Mention automatic reboot after installation
- Cleaner, more actionable instructions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:35:35 +02:00
dodoxandClaude b49fcb3358 Improve SSH fingerprint display logic
- Compare fingerprints and show if they're the same
- Clear indication when keys are shared vs different
- Better user experience for host key verification

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:33:12 +02:00
dodoxandClaude 96ff742bd5 Display SSH host key fingerprints at end of installation
- Show SHA256 fingerprints for both normal and rescue SSH keys
- Helps distinguish between dropbear (rescue) and OpenSSH (normal)
- Makes it easy to verify host keys on first connection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:31:19 +02:00
dodoxandClaude c68fadd9aa Refactor terminal setup to use loop for both users
- Single loop handles both user and root setup
- Install oh-my-zsh, powerlevel10k, and dotfiles for both
- Fix shell change using sed instead of chsh command
- Cleaner, more maintainable code structure

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:22:35 +02:00
dodoxandClaude a707af5b7a Install dotfiles and zsh configuration for root
- Install oh-my-zsh and powerlevel10k for both user and root
- Copy dotfiles to both user and root home directories
- Set zsh as default shell for root
- Root now has same terminal experience as user

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:12:08 +02:00
dodoxandClaude 9739367f38 Harden SSH configuration completely
- Disable root login
- Disable password authentication entirely
- Disable PAM authentication
- Only allow specific user via AllowUsers
- Add clear status messages

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:09:55 +02:00
dodoxandClaude 4895b7d733 Add passwordless sudo for the user
- Configure NOPASSWD: ALL for the created user
- Create proper sudoers.d file with correct permissions
- User no longer needs to enter password for sudo commands

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:09:16 +02:00
dodoxandClaude d27a6dd76f Fix p10k configuration loading
- Add missing source line for ~/.p10k.zsh in .zshrc
- This prevents the p10k configuration wizard from running

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:05:23 +02:00
dodoxandClaude c19ec14cfd Fix unlock-luks script and SSH key management
- Make unlock-luks work in minimal initramfs environment
- Handle missing lsblk and systemd-ask-password --list
- Try to use same SSH host key for dropbear and OpenSSH
- Add clear documentation about fingerprint differences
- Better error handling and debugging output

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:02:50 +02:00
dodoxandClaude 4e1129c368 Simplify to only use ED25519 host keys
- Remove RSA and ECDSA key generation (legacy crypto)
- Only generate and use ED25519 keys (most secure)
- Simplify both main script and dracut module

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 21:00:16 +02:00
dodoxandClaude aa9bac2c5b Add SHA256 fingerprint display for ED25519 host key
- Show SHA256 fingerprint for ed25519 key (modern standard)
- Keep SHA1 output from dropbearkey for other keys
- Clean up key generation output

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 20:55:40 +02:00
dodoxandClaude 555987af40 Fix SSH port in post-install message
- Update from port 2222 to port 22 for dropbear
- Remove redundant -p flag since 22 is default SSH port

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 20:46:12 +02:00
dodoxandClaude eb7a74e6fc Fix basename error in dotfiles installation
- Properly handle . and .. in dotfile copy loop
- Change directory before listing to avoid path issues
- Explicitly exclude . and .. from file copying

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 20:45:10 +02:00
dodoxandClaude bb642474b7 Fix initramfs SSH and Clevis compatibility issues
- Replace tinyssh with dropbear for better AlmaLinux compatibility
- Create custom dracut module for dropbear SSH access
- Fix clevis-luks-askpass.path for AlmaLinux 8.7+ (not needed)
- Fix dotfiles installation basename error
- Remove duplicate epel-release installation
- Update README to reflect dropbear on port 22

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 20:39:54 +02:00
dodox 6f3e1788e5 going back to dropbear 2025-08-18 20:21:45 +02:00
dodox 10ac0401af . 2025-08-18 01:37:18 +02:00
dodox 97c296da97 . 2025-08-18 01:35:27 +02:00
dodox ab251d723f . 2025-08-18 01:22:32 +02:00
dodox 0a108c460d . 2025-08-18 01:18:55 +02:00
dodox 9bc2c4bb34 change 2025-08-18 01:14:33 +02:00
dodox 8aee8ab3de ffuuuuu 2025-08-18 01:14:04 +02:00
dodox 70bd757166 tinyssh gen host keys 2025-08-18 01:02:54 +02:00
dodox 059a926da6 clevis luks askpass ehm ok 2025-08-18 00:58:00 +02:00
dodox 0fe95ab969 tinyssh over dropbear 2025-08-18 00:51:10 +02:00
dodox ca24354114 fix missing tar 2025-08-18 00:35:31 +02:00
dodox bf051cba2a FiXeS 2025-08-18 00:30:35 +02:00
dodox 1323fdabe4 post install fixes 2025-08-18 00:24:36 +02:00
dodox ac4740438b fixes (dropbear etc) 2025-08-18 00:10:29 +02:00
dodox d80a6a2ab1 fix issues with install.conf 2025-08-17 23:56:39 +02:00
dodox 25ee9c9dd6 simple ext4 boot 2025-08-17 23:49:19 +02:00
dodox f12dbf687d seperate install and get scripts... 2025-08-17 23:47:07 +02:00
dodox c4ad943223 pull earlier. 2025-08-17 23:43:21 +02:00
dodox 34bd561e84 fix: wrong os image identifier 2025-08-17 23:39:12 +02:00
dodox 1c60f71446 auto detect drive names 2025-08-17 23:36:37 +02:00
dodox 525b36dc28 fixes 2025-08-17 23:31:20 +02:00
dodox 9456753877 minor fixes 2025-08-17 23:28:13 +02:00
dodox aa9ba7ce23 save, then run, dont execuet while piping 2025-08-17 23:23:34 +02:00
dodox 7beb5bf119 fix: missing tpm enabled config from posgt install 2025-08-17 23:20:56 +02:00
dodox 5c6ddee629 fix broken sed escaping 2025-08-17 23:19:16 +02:00
dodox 6788a6e11d Upd README 2025-07-26 22:43:35 +02:00
dodox ed3a157ecf Upd README 2025-07-26 22:35:11 +02:00
dodox 1a58f63c7f tweaks 2025-07-26 22:08:49 +02:00
dodox 34761a1cdd Upd ROADMAP 2025-07-26 21:53:33 +02:00
dodox d66eaace7e Upd README 2025-07-26 21:50:58 +02:00
dodox e2309551c3 Upd README 2025-07-26 21:50:17 +02:00
dodox 35571c4c44 who even cares about fedora 2025-07-26 21:47:37 +02:00
dodox fbc558877c Upd README 2025-05-19 17:07:20 +02:00
dodox 671276478c Upd README 2025-05-19 17:02:17 +02:00
dodox e4e2cb4435 Upd README 2025-05-19 16:55:30 +02:00
dodox 2be74c8923 Upd README 2025-05-19 16:54:54 +02:00
dodox ce1736a7c1 installer does more 2025-05-19 16:54:46 +02:00
dodox 8a39511aea many fixes and additions but somethings still broken 2025-05-19 01:24:01 +02:00
dodox 31f1543fe5 make script executable 2025-05-18 18:42:44 +02:00
dodox f4795c232a better README 2025-05-18 18:39:22 +02:00
dodox 6f98289af0 dont null whole disk 2025-05-18 18:39:15 +02:00
dodox fd4e92e49b Upd README 2025-05-18 18:32:27 +02:00
dodox 92461a8ebf rewrote everything 2025-05-18 18:31:20 +02:00
dodox 07e081ac60 fixed the iucon 2025-05-18 16:09:51 +02:00
dodox e47525ab85 Update README 2025-05-14 17:19:44 +02:00
dodox 605653419e support multiple tang urls 2025-05-14 17:18:44 +02:00
dodox 03f37e3c74 check out raven 2025-05-13 21:23:55 +02:00
dodox dcbbede792 dropbear ssh 2025-05-13 18:43:59 +02:00
dodox ef40a04953 Upd README 2025-05-13 18:42:14 +02:00
dodox e8a43b7f6d Upd README 2025-05-13 18:41:57 +02:00
dodox d2dabb5912 bunch of fixes 2025-05-13 18:41:52 +02:00
dodox ec6cdedeec Upd README 2025-05-13 18:11:50 +02:00
dodox 75bcdaa8db kickstart over cloud-init 2025-05-13 18:07:38 +02:00
dodox a37b52bcf6 tpm updates 2025-05-13 17:32:06 +02:00
dodox 4d5880df27 swithcing from CoreOS to Fedora Server 2025-05-13 17:18:36 +02:00
dodox 1180a3d8ac Fix repo layout README 2025-05-13 14:27:43 +02:00
dodox c8b9b9e5dc Upd README 2025-05-13 14:23:27 +02:00
dodox 007e011089 Update README & add icon 2025-05-13 14:22:45 +02:00
dodox dbb7983283 Initial commit 2025-05-13 14:12:54 +02:00