docs: remove outdated installer v2 rollout planning doc
The v2 installer rollout is complete - dist/install-docker-agent.sh now contains the bundled v2 installer with embedded library modules. This planning document served its purpose and is no longer relevant.
This commit is contained in:
parent
10d52244f8
commit
7bfd6997ec
1 changed files with 0 additions and 142 deletions
|
|
@ -1,142 +0,0 @@
|
|||
# Installer v2 Rollout Plan
|
||||
|
||||
## 1. Overview
|
||||
|
||||
The Docker agent installer (`install-docker-agent.sh`) has been refactored into a
|
||||
modular, testable v2. Key improvements include:
|
||||
|
||||
- Shared library usage (`scripts/lib/*.sh`) for logging, HTTP, and systemd
|
||||
helpers, reducing duplication and easing maintenance.
|
||||
- Support for `--dry-run`, enabling administrators to preview actions safely.
|
||||
- Bundled single-file distribution generated by `scripts/bundle.sh` for curl
|
||||
based installs, while keeping modular sources in the repository.
|
||||
- New smoke and integration tests to catch regressions.
|
||||
|
||||
Benefits:
|
||||
|
||||
- **Users:** Clearer logging, dry-run validation, safer rollbacks, and improved
|
||||
error handling.
|
||||
- **Developers:** Consistent helper functions, faster iteration on fixes, and
|
||||
reusable testing infrastructure.
|
||||
|
||||
## 2. Rollout Strategy
|
||||
|
||||
### Phase 1: Alpha Testing (Internal)
|
||||
- Enable v2 via feature flag for internal environments only.
|
||||
- Exercise on development clusters, CI agents, and dogfood installations.
|
||||
- Validate dry-run, full install, multi-target, and uninstall scenarios.
|
||||
- Duration: ~1 week.
|
||||
|
||||
### Phase 2: Beta Testing (Early Adopters)
|
||||
- Announce availability in release notes and internal channels.
|
||||
- Provide explicit opt-in instructions (`PULSE_INSTALLER_V2=1`).
|
||||
- Monitor install success metrics, support channels, and gather structured
|
||||
feedback from operators.
|
||||
- Duration: ~2 weeks.
|
||||
|
||||
### Phase 3: General Availability
|
||||
- Flip feature flag default to v2 while retaining v1 as fallback for one full
|
||||
release cycle.
|
||||
- Publish deprecation notice for the legacy installer.
|
||||
- After the grace period, remove v1 from distribution.
|
||||
- Duration: 1 release cadence (approx. 4–6 weeks).
|
||||
|
||||
## 3. Feature Flag Mechanism
|
||||
|
||||
Users can select installer versions via environment variable:
|
||||
|
||||
```bash
|
||||
# Enable v2 (early adopter)
|
||||
export PULSE_INSTALLER_V2=1
|
||||
curl -fsSL https://download.pulse.example/install-docker-agent.sh | bash -s -- ...
|
||||
|
||||
# Force legacy v1
|
||||
export PULSE_INSTALLER_V2=0
|
||||
curl -fsSL https://download.pulse.example/install-docker-agent.sh | bash -s -- ...
|
||||
|
||||
# Server-side pseudo-code
|
||||
if [[ "${PULSE_INSTALLER_V2:-0}" == "1" ]]; then
|
||||
serve dist/install-docker-agent.sh
|
||||
else
|
||||
serve scripts/install-docker-agent-legacy.sh
|
||||
fi
|
||||
```
|
||||
|
||||
The download endpoint should inspect the flag (query parameter, header, or
|
||||
environment variable) and serve the appropriate script.
|
||||
|
||||
## 4. Testing Checklist
|
||||
|
||||
### Before Rollout
|
||||
- [ ] Smoke tests (`scripts/tests/run.sh`) passing
|
||||
- [ ] Integration tests (`scripts/tests/integration/...`) passing
|
||||
- [ ] Ubuntu 20.04 & 22.04 validated
|
||||
- [ ] Debian 11 & 12 validated
|
||||
- [ ] With and without Docker binary
|
||||
- [ ] Multi-target configuration verified
|
||||
- [ ] Uninstall path verified
|
||||
- [ ] Documentation updated (INSTALL, FAQ, etc.)
|
||||
- [ ] Release notes drafted
|
||||
|
||||
### During Rollout
|
||||
- [ ] Monitor error rates (CI dashboards, telemetry)
|
||||
- [ ] Watch support channels/tickets for installer issues
|
||||
- [ ] Sample successful installations daily
|
||||
- [ ] Collect structured feedback from early adopters
|
||||
|
||||
## 5. Success Metrics
|
||||
|
||||
- Installation success rate ≥ 99%
|
||||
- Median installation duration (baseline ±10%)
|
||||
- Top error categories and frequency trending downward
|
||||
- Positive/neutral user feedback (no significant negative trend)
|
||||
- Rollback requests < 1%
|
||||
|
||||
## 6. Rollback Plan
|
||||
|
||||
If blocking issues surface:
|
||||
|
||||
### Quick Rollback (< 5 minutes)
|
||||
1. Replace served script with v1 variant:
|
||||
```bash
|
||||
cp scripts/install-docker-agent-legacy.sh /var/www/html/install-docker-agent.sh
|
||||
# or update symlink pointing to dist/install-docker-agent.sh
|
||||
```
|
||||
2. Update documentation to reflect temporary rollback.
|
||||
3. Broadcast notice in release channels/support chat.
|
||||
|
||||
**File references**
|
||||
- Legacy: `scripts/install-docker-agent-legacy.sh`
|
||||
- Bundled v2: `dist/install-docker-agent.sh`
|
||||
- Served location: `/download/install-docker-agent.sh` (symlink/HTTP root)
|
||||
|
||||
## 7. Communication Plan
|
||||
|
||||
**Announcements**
|
||||
- Release notes covering v2 highlights and rollout phases.
|
||||
- Update product docs (`INSTALL.md`, quick reference).
|
||||
- Post in GitHub Discussions / community forums.
|
||||
- Optional blog post for broader awareness.
|
||||
|
||||
**User Guidance**
|
||||
- Explain how to opt-in/out using `PULSE_INSTALLER_V2`.
|
||||
- Highlight new capabilities (`--dry-run`, improved messaging).
|
||||
- Provide support contact and bug-reporting instructions.
|
||||
- Link to troubleshooting resources.
|
||||
|
||||
## 8. Known Limitations
|
||||
|
||||
- Limited testing on non-`systemd` init systems (manual startup handled but not
|
||||
optimized).
|
||||
- ARM architectures covered via dry-run and download stubs; on-device testing
|
||||
pending.
|
||||
- Requires Bash 4.0+ (same as v1) — document for older environments.
|
||||
|
||||
## 9. Post-Rollout Tasks
|
||||
|
||||
- [ ] Remove feature flag after one successful release cycle.
|
||||
- [ ] Retire legacy installer artifacts and adjust CI pipelines.
|
||||
- [ ] Update all docs to reference v2 only.
|
||||
- [ ] Apply modular pattern to remaining installers (install.sh,
|
||||
install-sensor-proxy.sh, pulse-auto-update.sh).
|
||||
- [ ] Expand integration tests to cover additional distributions and scenarios.
|
||||
Loading…
Reference in a new issue