Add landscaping-assistant.app to Rails config.hosts and Keycloak redirect URIs #224
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Related to
ldraney/pal-e-platform #435(public domain ingress). Mirrorsldraney/palinks #51for the landscaping-assistant domain.Repo
ldraney/landscaping-assistant+ldraney/pal-e-servicesUser Story
As a user visiting landscaping-assistant.app
I want the app to accept requests and handle OAuth login on the public domain
So that I can access the app without using the Tailscale hostname
Context
Once DNS records point landscaping-assistant.app to the Hetzner edge proxy and Caddy is configured, Rails will reject requests from the new hostname unless
config.hostsis updated. Additionally, Keycloak OAuth redirects will fail unless the client's redirect URI list includes the new domain. Unlike palinks, landscaping-assistant already has a Keycloak client, so the Keycloak scope is valid and required. This is a 2-repo ticket: Rails config changes in landscaping-assistant, Keycloak client config changes in pal-e-services.File Targets
Files the agent should modify or create:
config/environments/production.rb(landscaping-assistant) -- addlandscaping-assistant.apptoconfig.hoststerraform/k3s.tfvars(pal-e-services) -- addhttps://landscaping-assistant.app/*to the landscaping-assistant Keycloak client'svalid_redirect_uris,post_logout_redirect_uris, andweb_originsarraysFiles the agent should NOT touch:
config/environments/development.rb-- public domain is production-onlyk3s.tfvars-- only modify the landscaping-assistant clientFeature Flag
none
Acceptance Criteria
Host: landscaping-assistant.appin productionhttps://landscaping-assistant.app/*https://landscaping-assistant.app/*tofu applyin pal-e-services completes without error after tfvars updateTest Expectations
Host: landscaping-assistant.appheader return 200 (not 403)https://landscaping-assistant.app/...after authenticationhttps://landscaping-assistant.appbundle exec rspec spec/requests/ -t host_headeror equivalentConstraints
ldraney/pal-e-services(NOT pal-e-platform) -- changes go interraform/k3s.tfvarsconfig.hostsChecklist
config.hosts)tofu applyrun in pal-e-services after tfvars mergeRelated
ldraney/palinks #51-- same pattern for palinks.appldraney/pal-e-platform #435-- parent public domain ingress workScope Review: NEEDS_REFINEMENT
Review note:
review-1461-2026-06-14Keycloak client config lives in pal-e-services, not pal-e-platform as stated. Repo and file targets need correction.
Issues found:
pal-e-services/terraform/k3s.tfvarspal-e-services/terraform/k3s.tfvarsfor redirect URI updatestofu applyin pal-e-servicescustom-domainstory missing from project-landscaping-assistant user-stories tablearch-rails-apparchitecture note in pal-e-docsScope Review: APPROVED
Review note:
review-1461-2026-06-14-r2Re-review after NEEDS_REFINEMENT (review-1461-2026-06-14). All 5 body-level fixes have been verified:
terraform/k3s.tfvars(pal-e-services) with specific URIstofu applychecklist item addedFile targets verified:
config/environments/production.rbexists (config.hosts commented out, ready for update);k3s.tfvarsgitignored but landscaping-assistant client block confirmed in example file with Tailscale-only URIs.Two [SCOPE] items remain (missing
custom-domainstory on project page, missingarch-rails-appnote) -- being addressed separately, not blocking.Ticket is ready for implementation.