-
Notifications
You must be signed in to change notification settings - Fork 15
feat(ci): configure ENSRainbow Searchlight deployment across environments #1578
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughAdds a new ENSRAINBOW_SEARCHLIGHT service to the blue/green deployment workflow and introduces a second Terraform module instance (starlight) plus a Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@terraform/main.tf`:
- Around line 95-106: Rename the Terraform module block named
"ensrainbow_starligth" to the correct "ensrainbow_starlight" to fix the typo and
ensure consistency; update the module declaration identifier (module
"ensrainbow_starligth") to "ensrainbow_starlight" and search for any references
to that module name elsewhere (outputs, dependencies, or other modules) and
update them accordingly while leaving all arguments like render_environment_id,
render_region, ensnode_version, ensrainbow_volume_name, ensrainbow_label_set_id,
and ensrainbow_label_set_version unchanged.
In `@terraform/modules/ensrainbow/variables.tf`:
- Around line 19-22: The variable block for ensrainbow_volume_name has unaligned
attribute equals compared to other variables (e.g., db_schema_version); fix by
formatting the block so attributes align with the file's style (align `type` and
`description` equals signs) or simply run terraform fmt -recursive to normalize
formatting; target the variable "ensrainbow_volume_name" in variables.tf when
applying the change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds a second ENSRainbow instance (“Starlight” per PR/Terraform) alongside the existing ENSRainbow deployment, and updates deployment automation to handle the additional instance in Blue/Green.
Changes:
- Parameterized ENSRainbow disk volume name in the Terraform module so multiple instances can use distinct volumes.
- Added a second ENSRainbow module instantiation in
terraform/main.tfintended for “starlight”. - Updated the Blue/Green Railway deploy workflow to update/redeploy an additional ENSRainbow service ID.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
terraform/modules/ensrainbow/variables.tf |
Adds ensrainbow_volume_name input for configurable disk naming. |
terraform/modules/ensrainbow/main.tf |
Uses ensrainbow_volume_name for the Render disk resource. |
terraform/main.tf |
Instantiates a second ENSRainbow module intended for a new label set (“starlight”). |
.github/workflows/deploy_ensnode_blue_green.yml |
Adds handling for an additional ENSRainbow service instance in Blue/Green deployments. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #ENSRAINBOW SEARCHLIGHT | ||
| echo "ENSRAINBOW_SEARCHLIGHT_SVC_ID="${{ secrets.GREEN_ENSRAINBOW_SEARCHLIGHT_SVC_ID }} >> "$GITHUB_ENV" |
Copilot
AI
Jan 29, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR description and Terraform refer to a "Starlight" ENSRainbow instance, but this workflow introduces "ENSRAINBOW_SEARCHLIGHT" naming/secrets. Please align the naming (either update the PR/Terraform to "Searchlight" or rename the workflow env var/secrets) to avoid deploying/updating the wrong service.
dfcfb2b to
9b4fb15
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@terraform/modules/ensrainbow/variables.tf`:
- Around line 25-29: Add a Terraform variable validation block for
svc_name_suffix to reject invalid formats: implement a validation block on
variable "svc_name_suffix" that allows either an empty string or a
hyphen-prefixed DNS-safe suffix (e.g. use a regex like
^(-[a-z0-9]([a-z0-9-]*[a-z0-9])?)?$) and provide a clear error_message
describing the allowed formats; this validation ensures the variable follows the
expected "-name" format or is empty and will fail fast with a helpful message.
| variable "svc_name_suffix" { | ||
| type = string | ||
| description = "Suffix to append to the service and resource names (e.g. '-starlight'). Use empty string for default." | ||
| default = "" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Add a guard to prevent invalid suffix formats.
A lightweight validation keeps invalid inputs from failing later at provider-level errors.
Proposed validation
variable "svc_name_suffix" {
type = string
description = "Suffix to append to the service and resource names (e.g. '-starlight'). Use empty string for default."
default = ""
+ validation {
+ condition = var.svc_name_suffix == "" || startswith(var.svc_name_suffix, "-")
+ error_message = "svc_name_suffix must be empty or start with '-' (e.g., '-starlight')."
+ }
}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| variable "svc_name_suffix" { | |
| type = string | |
| description = "Suffix to append to the service and resource names (e.g. '-starlight'). Use empty string for default." | |
| default = "" | |
| } | |
| variable "svc_name_suffix" { | |
| type = string | |
| description = "Suffix to append to the service and resource names (e.g. '-starlight'). Use empty string for default." | |
| default = "" | |
| validation { | |
| condition = var.svc_name_suffix == "" || startswith(var.svc_name_suffix, "-") | |
| error_message = "svc_name_suffix must be empty or start with '-' (e.g., '-starlight')." | |
| } | |
| } |
🤖 Prompt for AI Agents
In `@terraform/modules/ensrainbow/variables.tf` around lines 25 - 29, Add a
Terraform variable validation block for svc_name_suffix to reject invalid
formats: implement a validation block on variable "svc_name_suffix" that allows
either an empty string or a hyphen-prefixed DNS-safe suffix (e.g. use a regex
like ^(-[a-z0-9]([a-z0-9-]*[a-z0-9])?)?$) and provide a clear error_message
describing the allowed formats; this validation ensures the variable follows the
expected "-name" format or is empty and will fail fast with a helpful message.
|
Replaced with #1579 |
Lite PR
Tip: Review docs on the ENSNode PR process
Summary
Why
Testing
Notes for Reviewer (Optional)
BLUE_ENSRAINBOW_SEARCHLIGHT_SVC_IDGREEN_ENSRAINBOW_SEARCHLIGHT_SVC_IDPre-Review Checklist (Blocking)