Skip to content

fix: centralize service preparation for startup and recovery - #646

Merged
feng626 merged 1 commit into
devfrom
pr@dev@unify_service_preparation
Nov 6, 2026
Merged

feng626 merged 1 commit into
devfrom
pr@dev@unify_service_preparation

Conversation

@fit2bot

@fit2bot fit2bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

PostgreSQL recovery and HA container startup could bypass the component directory and credential preparation used by normal installer startup, leaving Chen unhealthy after migration.

Add a shared preparation dispatcher and a jmsctl.sh prepare command, then use it for startup, targeted restart, and PostgreSQL recovery. The --containers mode requires stopped containers and uses their actual image IDs and runtime users so component patches receive the correct preparation. Preparation does not start or recreate application containers or enter database/configuration lifecycle operations.

Pair with https://github.com/jumpserver/jdmc/pull/19, which calls this command before HA startup and on both nodes during maintenance. Release these changes together.

Validation:

  • Bash syntax and the existing installer regression suite passed in the local Linux runner.
  • Docker Compose validation and the real PostgreSQL migration integration test were skipped by their environment gates.
  • A manual check with a real stopped container verified directory preparation, preserved registration data, and no application startup or configuration rewrite.
  • No new unit tests were added. A live two-node HA upgrade was not run.

@fit2bot
fit2bot requested a review from a team November 6, 2026 05:08
@feng626
feng626 merged commit cdbe8cc into dev Nov 6, 2026
5 checks passed
@feng626
feng626 deleted the pr@dev@unify_service_preparation branch November 6, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants