fixes: #1888 Documentation — eSignet standalone multi-namespace deployment (esignet standalone + MOSIP platform profiles)#250
fixes: #1888 Documentation — eSignet standalone multi-namespace deployment (esignet standalone + MOSIP platform profiles)#250bhumi46 wants to merge 8 commits into
Conversation
…DE.md - Replace extraEnvVarsAdditional index-based domain entries with domainConfig.KEY map syntax in esignet-dsf.yaml for all three profiles (esignet, mosip-platform-java11, mosip-platform-java21) - Update mock-identity-system domainConfig.MOSIP_ESIGNET_HOST in esignet profile DSFs - Add CLAUDE.md documenting repository structure, deployment sequence, and domainConfig architecture for standalone eSignet and full MOSIP platform profiles Signed-off-by: bhumi46 <thisisbn46@gmail.com>
…21 dsf Signed-off-by: bhumi46 <thisisbn46@gmail.com>
…yment (esignet standalone + MOSIP platform profiles) Signed-off-by: bhumi46 <thisisbn46@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughDocumentation across README, DSF configuration guide, and a suite of new and revised Helmsman guides is updated to reflect profile-based deployment ( ChangesMOSIP profile-based deployment documentation overhaul
Sequence Diagram(s)sequenceDiagram
participant User
participant helmsman_external_yml
participant helmsman_mosip_yml
participant helmsman_esignet_yml
participant helmsman_testrigs_yml
User->>helmsman_external_yml: run workflow (select profile)
helmsman_external_yml->>helmsman_external_yml: deploy prereq-dsf + external-dsf<br/>in parallel (${VAR} substitution)
helmsman_external_yml-->>User: external services ready
alt profile = mosip-platform-1.2.0.x or 1.2.1.x
helmsman_external_yml->>helmsman_mosip_yml: auto-trigger via GH_INFRA_PAT
helmsman_mosip_yml->>helmsman_mosip_yml: deploy MOSIP core services DSF
helmsman_mosip_yml-->>User: MOSIP pods running<br/>+ partner onboarding confirmed
User->>helmsman_esignet_yml: manual trigger
else profile = esignet
User->>helmsman_esignet_yml: manual trigger (required)
end
helmsman_esignet_yml->>helmsman_esignet_yml: deploy eSignet instances
helmsman_esignet_yml-->>User: eSignet services running
User->>helmsman_testrigs_yml: manual trigger (optional)
helmsman_testrigs_yml->>helmsman_testrigs_yml: deploy testrigs<br/>+ update CronJob schedules
helmsman_testrigs_yml-->>User: API/UI/DSL testrigs ready
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: bhumi46 <thisisbn46@gmail.com>
Signed-off-by: bhumi46 <thisisbn46@gmail.com>
Replace esignet-cre, esignet-qa11, esignet-sunbird namespace labels with plugin-only names and update esignet to esignet-standalone. Signed-off-by: bhumi46 <bhumi11111a@gmail.com> Signed-off-by: bhumi46 <thisisbn46@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (6)
docs/WORKFLOW_GUIDE.md (1)
250-250: 💤 Low valueAdd language identifiers to fenced code blocks containing ASCII diagrams.
Multiple fenced code blocks in the workflow summary sections lack language identifiers (Markdown rule MD040). While these are text-based flowcharts and not code, adding
textorplaintextas the language specifier improves consistency and validation:-``` +```text eSignet standalone profile (profile=esignet): ... -``` +```textThis applies to lines 250, 255, 332, 396, 406, 453, 519, 589, 759, and 783. Consider running a markdown linter (
markdownlint-cli2) to identify and auto-fix all instances.Also applies to: 255-255, 332-332, 396-396, 406-406, 453-453, 519-519, 589-589, 759-759, 783-783
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/WORKFLOW_GUIDE.md` at line 250, Fenced code blocks containing ASCII diagrams throughout the document lack language identifiers, violating Markdown rule MD040. Add a language identifier (text or plaintext) to all opening fenced code blocks by modifying the triple backticks from ``` to ```text on lines 250, 255, 332, 396, 406, 453, 519, 589, 759, and 783. This improves markdown validation consistency without changing the content of these ASCII workflow diagrams.Source: Linters/SAST tools
docs/HELMSMAN_TESTRIGS_GUIDE.md (1)
37-55: ⚡ Quick wineSignet testrigs "no additional secrets required" claim needs context.
Line 51 states: "No additional secrets required for testrigs — captcha and keycloak secrets were already created during eSignet deployment and are available in each namespace."
This assumes users have already run the eSignet DSF deployment (
helmsman_esignet.yml). However, a reader jumping directly to the testrigs guide might miss this dependency. Consider:
- Cross-linking to the deployment prerequisite (the eSignet guide that creates these secrets)
- Or explicitly stating in the Prerequisites section (line 31) that "eSignet DSF must have completed first (captcha/keycloak secrets created in namespace)"
This would align with the standalone guide's clear sequencing (ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md Step 1 → Step 2 → Step 4).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HELMSMAN_TESTRIGS_GUIDE.md` around lines 37 - 55, The eSignet standalone profile section states that no additional secrets are required for testrigs because captcha and keycloak secrets were already created during eSignet deployment, but this assumes readers have completed the eSignet DSF deployment prerequisite. Add a cross-link to the eSignet deployment guide (helmsman_esignet.yml or ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md) in the Prerequisites section around line 31, or explicitly state there that eSignet DSF deployment must be completed first to create these secrets in the namespace. This clarifies the sequencing dependency for readers who jump directly to the testrigs guide.docs/HELMSMAN_EXTERNAL_GUIDE.md (1)
73-80: 💤 Low valueClarify db_port vs esignet_db_port in the parameter table header.
Line 73 introduces the parameter as "
db_port| External postgres port — MOSIP platform only" but line 80 follows with "esignet_db_port| eSignet container postgres port". The table context at line 71 says "Workflow Inputs," making it ambiguous whether these are both always available (which they are) or profile-specific.Amend the table header or add a note clarifying: "Both fields appear in the workflow form regardless of profile; fill only the port that matches your selected profile."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/HELMSMAN_EXTERNAL_GUIDE.md` around lines 73 - 80, The parameter descriptions for db_port and esignet_db_port in the Workflow Inputs table are ambiguous about availability across profiles. Currently, db_port is described as "External postgres port — MOSIP platform only" and esignet_db_port as "eSignet container postgres port," which doesn't clarify that both fields always appear in the workflow form regardless of profile. Update the table header or add a clarifying note stating that both fields are always available in the workflow form but users should only fill the port that matches their selected profile (db_port for mosip-platform profiles and esignet_db_port for esignet profile).docs/ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md (2)
227-227: ⚡ Quick winEmphasize
skip_mosip_dsf_checkrequirement more prominently in Step 2 instructions.Line 227 flags the importance of ticking
skip_mosip_dsf_checkfor standalone eSignet, explaining that without it the workflow waits for amosip-dsf=completedlabel that will never appear, causing the workflow to fail. This is a critical user error point.Consider adding a visual callout (e.g.,
⚠️ or CRITICAL) above the form field table at line 215, or repeating the warning at line 225 to ensure it stands out and catches the eye before the user runs the workflow.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md` at line 227, The critical requirement about ticking `skip_mosip_dsf_check` for standalone eSignet deployment needs stronger visual emphasis to prevent user errors. Add a prominent warning callout using visual markers (such as ⚠️ or **CRITICAL**) above the form field table in Step 2 where configuration options are presented, and consider repeating the core warning about the `mosip-dsf=completed` namespace label prerequisite near the end of Step 2 instructions. This will ensure the warning about `skip_mosip_dsf_check` stands out visually and catches users' attention before they proceed with running the workflow, preventing workflow failures from this critical misconfiguration.
114-119: ⚡ Quick winWarn that CRE/QA11 Keycloak credentials are for remote admin access, not local.
Line 119 correctly notes that
CRE_KEYCLOAK_ADMIN_PASSWORDandQA11_KEYCLOAK_ADMIN_PASSWORDare for remote CRE and QA11 Keycloak instances, and a wrong password will cause the preinstall hook to fail with a curl error. However, this critical detail is buried in a footnote.Consider promoting this to a highlighted callout box or separate subsection (e.g., "
⚠️ Remote Keycloak Credentials") so users understand these are not for the local Keycloak deployed in Step 1, but for external CRE/QA11 environments that the hook queries.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md` around lines 114 - 119, The critical distinction that CRE_KEYCLOAK_ADMIN_PASSWORD and QA11_KEYCLOAK_ADMIN_PASSWORD are for remote CRE and QA11 Keycloak instances (not the local Keycloak deployed by this stack) is currently buried in a warning footnote, which users may easily overlook. Extract this important warning from the footnote and create a separate, more prominent callout section with a clear heading such as "⚠️ Remote Keycloak Credentials" that explicitly explains these environment variables are for external admin access to remote Keycloak instances and emphasizes that misconfiguration will cause the preinstall hook to fail with curl errors. This ensures users understand the distinction between local and remote credentials before they configure these variables.docs/ENVIRONMENT_DESTRUCTION_GUIDE.md (1)
48-48: ⚡ Quick winClarify Terraform profile naming vs. Helmsman profile naming to prevent user confusion.
The ENVIRONMENT_DESTRUCTION_GUIDE references Terraform profiles as
mosip/esignet, but the esignet_README.md references Helmsman profiles asmosip-platform-1.2.0.xandmosip-platform-1.2.1.x. This inconsistency may confuse users who need to coordinate infrastructure destruction with Helmsman service destruction.Guidance needed:
- Document the relationship between Terraform
Profileparameter values (e.g.,mosip/esignet) and Helmsman profile values (e.g.,mosip-platform-1.2.0.x)- If the naming formats are intentionally different, add a "profile mapping" table in README or a dedicated section explaining the distinction
- Ensure workflow documentation clearly states which profile name format to use for each tool
Also applies to: 176-176, 411-411
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/ENVIRONMENT_DESTRUCTION_GUIDE.md` at line 48, The ENVIRONMENT_DESTRUCTION_GUIDE uses Terraform profile naming format (mosip/esignet) while esignet_README.md uses Helmsman profile naming format (mosip-platform-1.2.0.x, mosip-platform-1.2.1.x), creating confusion about which format applies to each tool. Add a clarification section early in the ENVIRONMENT_DESTRUCTION_GUIDE that explains the relationship between Terraform and Helmsman profile naming conventions, either by documenting how one format maps to the other or by creating a profile mapping table. Additionally, ensure all profile references in the guide (including those at lines 176 and 411) are clearly annotated with which tool they apply to and which naming format should be used for that specific tool.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/esignet_README.md`:
- Around line 156-158: The documentation in esignet_README.md contains incorrect
deployment profile names that do not match the actual workflow and directory
structure. Replace all occurrences of `mosip-platform-1.2.0.x` with
`mosip-platform-java11` and `mosip-platform-1.2.1.x` with
`mosip-platform-java21` across the entire document. This includes the DSF file
paths section (lines 156-158), the GitHub Actions walkthrough section (line
230), and the workflow inputs table (lines 256-262). Ensure consistency
throughout by using the actual Java version suffix format that matches the real
directory structure in Helmsman/dsf/ and the actual workflow profile options
available to users.
---
Nitpick comments:
In `@docs/ENVIRONMENT_DESTRUCTION_GUIDE.md`:
- Line 48: The ENVIRONMENT_DESTRUCTION_GUIDE uses Terraform profile naming
format (mosip/esignet) while esignet_README.md uses Helmsman profile naming
format (mosip-platform-1.2.0.x, mosip-platform-1.2.1.x), creating confusion
about which format applies to each tool. Add a clarification section early in
the ENVIRONMENT_DESTRUCTION_GUIDE that explains the relationship between
Terraform and Helmsman profile naming conventions, either by documenting how one
format maps to the other or by creating a profile mapping table. Additionally,
ensure all profile references in the guide (including those at lines 176 and
411) are clearly annotated with which tool they apply to and which naming format
should be used for that specific tool.
In `@docs/ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md`:
- Line 227: The critical requirement about ticking `skip_mosip_dsf_check` for
standalone eSignet deployment needs stronger visual emphasis to prevent user
errors. Add a prominent warning callout using visual markers (such as ⚠️ or
**CRITICAL**) above the form field table in Step 2 where configuration options
are presented, and consider repeating the core warning about the
`mosip-dsf=completed` namespace label prerequisite near the end of Step 2
instructions. This will ensure the warning about `skip_mosip_dsf_check` stands
out visually and catches users' attention before they proceed with running the
workflow, preventing workflow failures from this critical misconfiguration.
- Around line 114-119: The critical distinction that CRE_KEYCLOAK_ADMIN_PASSWORD
and QA11_KEYCLOAK_ADMIN_PASSWORD are for remote CRE and QA11 Keycloak instances
(not the local Keycloak deployed by this stack) is currently buried in a warning
footnote, which users may easily overlook. Extract this important warning from
the footnote and create a separate, more prominent callout section with a clear
heading such as "⚠️ Remote Keycloak Credentials" that explicitly explains these
environment variables are for external admin access to remote Keycloak instances
and emphasizes that misconfiguration will cause the preinstall hook to fail with
curl errors. This ensures users understand the distinction between local and
remote credentials before they configure these variables.
In `@docs/HELMSMAN_EXTERNAL_GUIDE.md`:
- Around line 73-80: The parameter descriptions for db_port and esignet_db_port
in the Workflow Inputs table are ambiguous about availability across profiles.
Currently, db_port is described as "External postgres port — MOSIP platform
only" and esignet_db_port as "eSignet container postgres port," which doesn't
clarify that both fields always appear in the workflow form regardless of
profile. Update the table header or add a clarifying note stating that both
fields are always available in the workflow form but users should only fill the
port that matches their selected profile (db_port for mosip-platform profiles
and esignet_db_port for esignet profile).
In `@docs/HELMSMAN_TESTRIGS_GUIDE.md`:
- Around line 37-55: The eSignet standalone profile section states that no
additional secrets are required for testrigs because captcha and keycloak
secrets were already created during eSignet deployment, but this assumes readers
have completed the eSignet DSF deployment prerequisite. Add a cross-link to the
eSignet deployment guide (helmsman_esignet.yml or
ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.md) in the Prerequisites section around line
31, or explicitly state there that eSignet DSF deployment must be completed
first to create these secrets in the namespace. This clarifies the sequencing
dependency for readers who jump directly to the testrigs guide.
In `@docs/WORKFLOW_GUIDE.md`:
- Line 250: Fenced code blocks containing ASCII diagrams throughout the document
lack language identifiers, violating Markdown rule MD040. Add a language
identifier (text or plaintext) to all opening fenced code blocks by modifying
the triple backticks from ``` to ```text on lines 250, 255, 332, 396, 406, 453,
519, 589, 759, and 783. This improves markdown validation consistency without
changing the content of these ASCII workflow diagrams.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 193eb5cc-2795-4055-98c7-53749bbdb86f
⛔ Files ignored due to path filters (6)
docs/_images/esignet.pngis excluded by!**/*.pngdocs/_images/helmsman-external-services.pngis excluded by!**/*.pngdocs/_images/helmsman-mosip.pngis excluded by!**/*.pngdocs/_images/helmsman-testrigs.pngis excluded by!**/*.pngdocs/_images/infra-terraform-apply.pngis excluded by!**/*.pngdocs/_images/infra-terraform-destroy.pngis excluded by!**/*.png
📒 Files selected for processing (15)
README.mddocs/DSF_CONFIGURATION_GUIDE.mddocs/ENVIRONMENT_DESTRUCTION_GUIDE.mddocs/ESIGNET_STANDALONE_DEPLOYMENT_GUIDE.mddocs/HELMSMAN_DESTROY_GUIDE.mddocs/HELMSMAN_EXTERNAL_GUIDE.mddocs/HELMSMAN_MOSIP_GUIDE.mddocs/HELMSMAN_TESTRIGS_GUIDE.mddocs/ONBOARDING_GUIDE.mddocs/SECRET_GENERATION_GUIDE.mddocs/TERRAFORM_WORKFLOW_GUIDE.mddocs/WORKFLOW_GUIDE.mddocs/_images/ARCHITECTURE_DIAGRAMS.mddocs/esignet_README.mddocs/profile-based-deployment.drawio
| Helmsman/dsf/mosip-platform-1.2.0.x/esignet-dsf.yaml (Java 11) | ||
| Helmsman/dsf/mosip-platform-1.2.1.x/esignet-dsf.yaml (Java 21) | ||
| ``` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Check workflow profile choices
grep -A 10 "profile:" .github/workflows/helmsman_esignet.yml | grep -A 6 "options:"
# Check if DSF directories match the profile choices
find Helmsman/dsf -type d -maxdepth 1 | sortRepository: mosip/infra
Length of output: 341
🏁 Script executed:
# Check the actual content of the documentation file at the mentioned lines
head -260 docs/esignet_README.md | tail -110 | cat -nRepository: mosip/infra
Length of output: 5698
Profile names in documentation do not match actual workflow or directory structure.
The documentation references deployment profiles as mosip-platform-1.2.0.x and mosip-platform-1.2.1.x, but the actual workflow and directory structure use mosip-platform-java11 and mosip-platform-java21.
Affected locations:
- Lines 156–158: DSF file paths document
mosip-platform-1.2.0.xandmosip-platform-1.2.1.x - Line 230: GitHub Actions walkthrough references
mosip-platform-1.2.0.x - Lines 256–262: Workflow inputs table lists
mosip-platform-1.2.0.x,mosip-platform-1.2.1.x
Actual values:
- Workflow profile options:
mosip-platform-java11,mosip-platform-java21,esignet - DSF directories:
Helmsman/dsf/mosip-platform-java11,Helmsman/dsf/mosip-platform-java21
Users following the documented profile names will fail when submitting the GitHub Actions form. Update all profile name references to use the Java version suffix format.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/esignet_README.md` around lines 156 - 158, The documentation in
esignet_README.md contains incorrect deployment profile names that do not match
the actual workflow and directory structure. Replace all occurrences of
`mosip-platform-1.2.0.x` with `mosip-platform-java11` and
`mosip-platform-1.2.1.x` with `mosip-platform-java21` across the entire
document. This includes the DSF file paths section (lines 156-158), the GitHub
Actions walkthrough section (line 230), and the workflow inputs table (lines
256-262). Ensure consistency throughout by using the actual Java version suffix
format that matches the real directory structure in Helmsman/dsf/ and the actual
workflow profile options available to users.
- Rename esignet-standalone mock plugin node label - Remove duplicate mosip-identity plugin node - Update Terraform profile label from esignet to esignet-standalone Signed-off-by: bhumi46 <bhumi11111a@gmail.com> Signed-off-by: bhumi46 <thisisbn46@gmail.com>
fixes: #1888 Documentation — eSignet standalone multi-namespace deployment (esignet standalone + MOSIP platform profiles)
Summary
Summary by CodeRabbit
Release Notes
${...}configuration guidance