Skip to content

add wpb-28803: add documentation for Wire in a Box maintenance - #138

Open
mohitrajain wants to merge 1 commit into
mainfrom
WPB-28803-maintenance-docs
Open

mohitrajain wants to merge 1 commit into
mainfrom
WPB-28803-maintenance-docs

Conversation

@mohitrajain

@mohitrajain mohitrajain commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

add documentation for Wire in a Box maintenance - controlled shutdown and startup

Change type

  • Documentation change
  • Build pipeline change
  • Submodule update
  • Deployment change

Basic information

  • THIS CHANGE REQUIRES A WIRE-DOCS RELEASE NOW

Testing

  • I ran/applied the changes myself, in a test environment.

Tracking

  • I mentioned this PR in Jira, OR I mentioned the Jira ticket in this PR.
  • I mentioned this PR in one of the issues attached to one of our repositories.

@mohitrajain
mohitrajain requested review from a team as code owners October 9, 2026 16:25
@mohitrajain mohitrajain changed the title add wpb-28803: add documentation for Wire in a Box maintenance - cont… add wpb-28803: add documentation for Wire in a Box maintenance Oct 9, 2026
@mohitrajain
mohitrajain requested a lite review from Copilot October 22, 2026 13:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Critical and moderate runbook issues could cause credential exposure, data loss, incorrect node or service targeting, and incomplete workload restoration.

7 open issues
What changed in this PR

This pull request adds operational documentation for controlled Wire in a Box shutdown, relocation, startup, backup handling, and post-maintenance validation.

Changes:

  • Adds a comprehensive maintenance runbook covering Kubernetes, databases, messaging, storage, VMs, networking, and service restoration.
  • Links the maintenance manual from the administration guide.
  • Adds the manual to the MkDocs Administration navigation.
File Summary Review findings
src/​how-to/​administrate/​README.md Adds the maintenance manual to the administration contents. Moderate: The link nesting conflicts with its top-level MkDocs navigation entry (1 vote).
src/​how-to/​administrate/​maintenance-manual.md Documents the controlled shutdown, relocation, startup, backup, and validation procedure. Critical: Protect StatefulSet PVCs before scaling, use the recorded PostgreSQL instance, avoid fixed-node assumptions, and suspend/restore HPA reconciliation (1–4 votes). Moderate: Prevent credentials from entering recordings; start and release all replicas; restore whenScaled state; guard nftables checks; reinitialize inventory and service variables in new shells (1–2 votes). Nit: Correct the heading hierarchy and grammar (1 vote).
mkdocs.yml Adds the maintenance manual to the generated Administration navigation. No findings.

Review effort: Lite

### 2.2 Scale down applications, temporarily retaining `wire-utility`

```bash
while IFS=$'\t' read -r kind name replicas; do
Record the actual instance and port, then set these variables on that VM:

```bash
PG_INSTANCE='17-main'

**Current primary VM - inspect databases, schemas and tables:**

*Only from primary VM i.e. datanode1 or postgresql1*
)
```

Watch for catch-up Jobs when schedules resume. Restore any temporary PVC-retention changes only after the intended replicas are back, then resume the previously paused autoscaling/reconciliation. ([Kubernetes CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/))
sudo -u postgres psql -p "$PG_PORT" -X -d postgres \
-c 'SELECT pg_is_in_recovery();'

sudo -u postgres repmgr -f "$RM_CONF" cluster show
Comment on lines +751 to +759
Start the **recorded primary first**, then both recorded replicas:

```bash
release_units "$PG_UNIT"
sudo systemctl start "$PG_UNIT"

sudo -u postgres psql -p "$PG_PORT" -X -d postgres \
-c 'SELECT pg_is_in_recovery();'
```

```bash
cd wire-server-deploy/
source bin/offline-env.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants