 StanislasandGitHub
|
ec3e80ac16
|
feat: add CLI interface with subcommands (#1398)
Replace environment variable-based configuration with a proper CLI
interface using subcommands and flags.
### Commands
```
openvpn-install <command> [options]
Commands:
install Install and configure OpenVPN server
uninstall Remove OpenVPN server
client Manage client certificates (add/list/revoke/renew)
server Server management (status/renew)
interactive Launch interactive menu
```
### Highlights
- **No args → help**: Running without arguments shows help instead of
interactive menu
- **JSON output**: `client list` and `server status` support `--format
json`
- **25+ install flags**: Network, DNS, security, and client options
- **Interactive mode preserved**: `install --interactive` or
`interactive` command
### Breaking Changes
Environment variables (`AUTO_INSTALL`, `MENU_OPTION`, `CLIENT`, etc.)
are no longer supported. Use CLI flags instead.
```bash
# Before
MENU_OPTION=1 CLIENT=foo PASS=1 ./openvpn-install.sh
# After
./openvpn-install.sh client add foo
```
Closes https://github.com/angristan/openvpn-install/issues/1202
|
2025-12-14 22:08:44 +01:00 |
|