Repository navigation
feat(ci): DNS_PROVIDER=manual is a "no DNS yet" run — cluster now, TLS/nginx proxy later (Part of #273, closes #470) - #471
Merged
Conversation
…S/nginx proxy later (mosip#470) DNS_PROVIDER=manual already skipped the Terraform iam/dns jobs and printed the records, but configure still ran TLS + the nginx reverse proxy (Let's Encrypt DNS-01 via Route53 without permissions) and failed before RKE2, NFS, PostgreSQL and ActiveMQ. - generate.py: --without COMPONENT (repeatable / comma list) removes components from the profile's configure_components; unknown names rejected. Works in terraform and hosts (data-centre) mode. - terraform.yml: with DNS_PROVIDER=manual the inventory is rendered --without nginx --without rancher_import (no DNS gate, no TLS/proxy; the dns play still prints the records). manual + ENABLE_RANCHER_IMPORT fails in validate with a clear message. The validate and render steps now take inputs via env instead of ${{ }} in run. - README: two-run flow (no DNS, then with a DNS provider) and the data-centre equivalent. Tests: generate.py 20 (+4). Mock data-centre run: records printed, DNS gate skipped, all TLS/nginx tasks skipped, RKE2 + NFS server ran. actionlint clean; zizmor findings unchanged (no new ones). Part of mosip#273. Closes mosip#470. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: bhumi46 <thisisbn46@gmail.com>
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review: 17
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
) The new validate check also rejected DNS_PROVIDER=manual with ENABLE_RANCHER_IMPORT for base-infra / compute / dns runs, where the import never runs. Limit it to COMPONENT=all and configure. Checked: old vs new validate step over 120 input combinations — only manual + import on all/configure differ (now rejected); old vs new render step — inventory byte-identical for terraform-route53, godaddy, cloudflare, rfc2136. Part of mosip#273, part of mosip#470. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: bhumi46 <thisisbn46@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #273
Closes #470
Problem
A team without a usable DNS zone (or before DNS is mapped) wants VMs, security groups, EBS, the RKE2 cluster, NFS, PostgreSQL and ActiveMQ now, and DNS / TLS + nginx reverse proxy / Rancher import later.
DNS_PROVIDER=manualalready skipped the Terraformiam/dnsjobs and printed the records, butconfigurestill ran TLS + nginx (Let's Encrypt DNS-01 via Route53 — without permissions in this mode) and failed before RKE2 / NFS / PostgreSQL / ActiveMQ; preflight also waited ~5 min for DNS.What
generate.py --without COMPONENT(repeatable / comma list): drops components from the profile'sconfigure_componentsfor this run; unknown names rejected; terraform and data-centre (--from-hosts) modes.terraform.yml,DNS_PROVIDER=manual= "no DNS yet": inventory rendered--without nginx --without rancher_import→ no DNS gate, no TLS / nginx proxy; thednsplay still prints the exact records to create. The nginx host still serves NFS, PostgreSQL and ActiveMQ.manual+ENABLE_RANCHER_IMPORT→validatefails early with a clear message.validateand Render Ansible inventory steps now take inputs viaenv:(no${{ inputs }}in thoserun:blocks).DNS_PROVIDER=manualiam/dns; TLS + nginx reverse proxy; Rancher importTests
generate.py: 20 passed (+4: drop nginx + rancher_import →rke2, nfs, postgresql, activemq; comma list; unknown component fails; data-centre mode).site.yml): records table printed; DNS gate skipped; all 21 TLS/nginx tasks skipped; RKE2 ran (existing cluster detected); NFS server part ran — the CSI step then hit the known Docker RKE2 API instability (not related).terraform.yml: same findings before and after (none added).terraform-route53,godaddy,cloudflare,rfc2136(onlymanualdropsnginx+rancher_import). Old vs new validate step over 120 input combinations → onlymanual+ENABLE_RANCHER_IMPORTonall/configurediffer (now rejected, by design).Follow-ups (pre-existing, not in this PR)
zizmor on
terraform.yml:${{ inputs.REMOTE_BACKEND_CONFIG }}(free text) expanded inside arun:block in the configure job;8398a7/action-slack@v3not pinned by hash. Worth a separate hardening PR.🤖 Generated with Claude Code