Skip to content

Commit dae7365

Browse files
author
Alade Yessoufou
committed
docs: Update CHANGELOG.md with all v1.2.0 features
Add comprehensive changelog entries for new features: - GitHub Actions Generator (ci github, ci env-sync) - Security Hardening (shipnode harden command) - Doctor Security Audit (doctor --security flag) - Config UX Improvements (--config flag, --print flag) - Deploy Dry Run (deploy --dry-run flag) All features documented with functionality details and use cases.
1 parent bdbf2c2 commit dae7365

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8585
- **PM2 cwd path in zero-downtime deploy**: Fixed working directory pointing to wrong path
8686
- **Hook scp failures visible**: Show scp copy failure output instead of silently continuing
8787

88+
#### GitHub Actions Generator
89+
- **`shipnode ci github`**: Scaffold a minimal GitHub Actions deployment workflow
90+
- Creates `.github/workflows/deploy.yml` with SSH-based deployment
91+
- Workflow installs dependencies, runs build, and executes `shipnode deploy`
92+
- Documents required GitHub secrets (SSH_PRIVATE_KEY, SSH_HOST, SSH_USER, SSH_PORT)
93+
- **`shipnode ci env-sync`**: Sync `shipnode.conf` values to GitHub repository secrets
94+
- Automatically installs `gh` CLI if not present
95+
- Syncs SSH_HOST, SSH_USER, and SSH_PORT as individual secrets
96+
- `--all` flag additionally syncs `.env` file as base64-encoded secret
97+
98+
#### Security Hardening
99+
- **`shipnode harden`**: Interactive server security hardening command
100+
- **SSH hardening**: Optionally change SSH port, disable password authentication, disable root login
101+
- **Firewall setup**: Configure UFW to allow only SSH, HTTP, and HTTPS; deny all other inbound traffic
102+
- **Fail2Ban**: Optionally install and configure fail2ban for brute-force protection
103+
- All changes are opt-in with clear prompts and summary before application
104+
105+
#### Doctor Security Audit
106+
- **`shipnode doctor --security`**: Non-destructive security posture audit
107+
- **SSH configuration audit**: Checks root login status, password authentication, and SSH port
108+
- **Firewall audit**: Verifies UFW status and allowed ports
109+
- **Fail2Ban audit**: Checks installation and service status
110+
- **File permissions**: Audits permissions for `shipnode.conf` and local `.env` files
111+
- Outputs actionable warnings with recommended commands for each issue
112+
113+
#### Config UX Improvements
114+
- **`--config <path>` flag**: Support for custom configuration files across all commands
115+
- Default remains `shipnode.conf` in project root
116+
- Profile configs follow naming convention `shipnode.<env>.conf` (e.g., `shipnode.staging.conf`)
117+
- Enables multi-environment deployments without editing files
118+
- **`shipnode init --print`**: Emit configuration to stdout without writing a file
119+
- Useful for CI/CD pipelines and configuration validation
120+
- Shows exactly what would be generated with current settings
121+
122+
#### Deploy Dry Run
123+
- **`shipnode deploy --dry-run`**: Preview deployment steps without executing them
124+
- **Configuration preview**: Shows resolved config values with secrets redacted
125+
- **Build preview**: Displays local build commands to be executed (package manager, build command)
126+
- **Deployment preview**: Lists remote commands, rsync targets, and excluded patterns
127+
- **Zero-downtime flow**: Shows each step of the deployment flow with health check details
128+
- Supports both backend and frontend applications
129+
- Supports both zero-downtime and legacy deployment modes
130+
- Ideal for validating configuration before first deployment and CI/CD pipeline testing
131+
88132
## [1.1.0] - 2026-01-24
89133

90134
### Added

0 commit comments

Comments
 (0)