Add full README with install guide
This commit is contained in:
parent
322bbb90ea
commit
41d09ea542
1 changed files with 95 additions and 13 deletions
108
README.md
108
README.md
|
|
@ -2,30 +2,112 @@
|
||||||
|
|
||||||
Lightweight SSH-based update manager for Linux systems.
|
Lightweight SSH-based update manager for Linux systems.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Check for updates across multiple hosts
|
- Check for updates across multiple hosts
|
||||||
- Run upgrades remotely via SSH
|
- SSH-based (no agents)
|
||||||
- Run autoremove
|
- Simple host inventory
|
||||||
- Simple inventory file
|
|
||||||
- No external dependencies
|
- No external dependencies
|
||||||
|
|
||||||
## Usage
|
---
|
||||||
|
|
||||||
./update-manager.sh check
|
## Installation
|
||||||
./update-manager.sh update
|
|
||||||
./update-manager.sh autoremove
|
|
||||||
./update-manager.sh full
|
|
||||||
|
|
||||||
## Hosts file format
|
git clone <repo-url>
|
||||||
|
cd update-manager
|
||||||
|
chmod +x update-manager.sh
|
||||||
|
./update-manager.sh install
|
||||||
|
|
||||||
name|ip|ssh_user
|
This will:
|
||||||
|
|
||||||
|
- Install the tool in /opt/update-manager
|
||||||
|
- Create global command: update-manager
|
||||||
|
- Create config files if missing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Edit hosts:
|
||||||
|
|
||||||
|
nano /opt/update-manager/hosts.conf
|
||||||
|
|
||||||
|
Format:
|
||||||
|
|
||||||
|
name ip ssh_user
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
server1|192.168.1.10|user
|
server1 192.168.1.10 user
|
||||||
|
server2 192.168.1.20 user
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SSH (required)
|
||||||
|
|
||||||
|
Passwordless SSH must be configured.
|
||||||
|
|
||||||
|
ssh-keygen -t ed25519
|
||||||
|
ssh-copy-id user@192.168.1.10
|
||||||
|
|
||||||
|
Repeat for all hosts.
|
||||||
|
|
||||||
|
Test:
|
||||||
|
|
||||||
|
ssh user@192.168.1.10
|
||||||
|
|
||||||
|
Should work without password.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
update-manager check
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
server1 🔴 2 updates
|
||||||
|
server2 🟢 up-to-date
|
||||||
|
server3 ❌ connection failed
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Config
|
## Config
|
||||||
|
|
||||||
HOSTS_FILE="${HOSTS_FILE:-/opt/update-manager/hosts.conf}"
|
/etc/update-manager.conf
|
||||||
NTFY_URL=""
|
|
||||||
|
Default:
|
||||||
|
|
||||||
|
HOSTS_FILE="/opt/update-manager/hosts.conf"
|
||||||
|
SSH_OPTIONS="-o BatchMode=yes -o ConnectTimeout=5"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- hosts.conf and update-manager.conf are local files (not in Git)
|
||||||
|
- .example files are templates
|
||||||
|
- Existing config is not overwritten on reinstall
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
|
||||||
|
- update command
|
||||||
|
- parallel execution
|
||||||
|
- scheduled checks
|
||||||
|
- logging integration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Philosophy
|
||||||
|
|
||||||
|
Keep it simple.
|
||||||
|
|
||||||
|
- No agents
|
||||||
|
- No dependencies
|
||||||
|
- Just SSH
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue