Skip to content

fix: localgov-drupal improvements - batch modules & admin password#84

Closed
chrisns wants to merge 5 commits into
mainfrom
feat/localgov-drupal-isb-blueprint
Closed

fix: localgov-drupal improvements - batch modules & admin password#84
chrisns wants to merge 5 commits into
mainfrom
feat/localgov-drupal-isb-blueprint

Conversation

@chrisns
Copy link
Copy Markdown
Member

@chrisns chrisns commented Feb 28, 2026

Summary

  • Batch drush module enables: Instead of ~43 sequential drush pm:enable calls (each bootstrapping PHP), all modules are now installed in a single drush pm:install call. This eliminates redundant PHP bootstraps and dependency resolution passes.
  • Fix AdminPassword output: CloudFormation dynamic references ({{resolve:secretsmanager:...}}) don't resolve in stack Outputs. Changed to a Secrets Manager console URL instead.
  • Docker build workflow: Allow workflow_dispatch to push images from non-main branches for testing.

Test plan

  • All 22 CDK tests pass
  • Tested batch module install in deployed stack — logs show "Enabling 33 LocalGov modules in a single batch"
  • AdminPassword output now shows Secrets Manager console URL

Remove AutoCleanupHours parameter and S3 lifecycle rules (ISB handles
cleanup via AWS Nuke), fix Bedrock IAM policy region mismatch to
match Lambda's hardcoded us-east-1, remove incorrect Amazon Lex
references from scenarios.yaml, add CAPABILITY_AUTO_EXPAND for SAM
transform StackSet support, and create BLUEPRINT.md registration guide.
Template uses explicit RoleName which requires CAPABILITY_NAMED_IAM.
StackSet must be created in the ISB deployment region (e.g. us-west-2),
not necessarily the target deployment region.
- Migrate admin password from Math.random() to Secrets Manager
- Make CDK stack environment-agnostic (Fn::GetAZs for StackSet portability)
- Hardcode deployment settings and DESTROY removal policies
- Bump Fargate to 1 vCPU / 2 GB for faster Drupal initialization
- Add per-module progress reporting to init-status page
- Add CI workflow for CDK synth with bootstrap stripping and validation
- Add ISB hub stack with StackSet for localgov-drupal scenario
- Update scenarios.yaml (remove params, add CAPABILITY_NAMED_IAM)
- Add BLUEPRINT.md with ISB deployment guide
- Delete stub template.yaml (CI generates from CDK)
Replace ~40 sequential drush pm:enable calls (each spawning a separate
PHP process) with a single drush pm:install call passing all modules.
Eliminates redundant Drush bootstraps, dependency resolutions, and
intermediate cache rebuilds. Same approach for custom NDX modules.
CloudFormation dynamic references ({{resolve:secretsmanager:...}}) are
not resolved in stack outputs, so the raw reference string was shown
instead of the actual password. Changed output to a Secrets Manager
console URL where users can retrieve the password.

Also allow docker-build workflow_dispatch to push from any branch.
@chrisns
Copy link
Copy Markdown
Member Author

chrisns commented Feb 28, 2026

Duplicate — reopening #82 instead

@chrisns chrisns closed this Feb 28, 2026
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.

1 participant