feat: wire up the edge_proxy private app - #8305
Conversation
Detects the edge_proxy app and mounts its two URL trees: proxy key management for organisation admins, and the environment inventory that Edge Proxy instances poll. The feature is for self-hosted and private cloud only. SaaS images ship the private wheel, so the mount is gated on is_saas() at runtime rather than on the app being absent; the app's own views carry a matching permission as defence in depth.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8305 +/- ##
=======================================
Coverage 98.78% 98.78%
=======================================
Files 1604 1604
Lines 64335 64336 +1
=======================================
+ Hits 63551 63552 +1
Misses 784 784 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Contributes to Flagsmith/edge-proxy#128
Wires up the
edge_proxyprivate app (Flagsmith/flagsmith-private#265), which adds the credential and inventory endpoint that let a running Edge Proxy discover environments itself.Three edits, following the
rbac/scimpattern:EDGE_PROXY_INSTALLEDdetection and conditionalINSTALLED_APPSappend.organisations/{id}/edge-proxy/, andapi/v1/proxy/for the inventory endpoint.The feature is for self-hosted and private cloud only. SaaS images ship the private wheel, so the mount is gated on
is_saas()at runtime rather than on the app being absent; the app's own views carry a matching permission as defence in depth.The
flagsmith-privatelock bump follows once #265 is released — the current pin (>=0.11.4,<1) already allows it, and without a wheel containingedge_proxythese mounts are inert.How did you test this code?
Against a checkout with
flagsmith-privateinstalled editable from the #265 branch:/api/v1/organisations/1/edge-proxy/keys/,/api/v1/proxy/config/).SAAS_DEPLOYMENTmarker file present, they 404 —reverse()raisesNoReverseMatch.django-admin checkreports no new issues.The app's own behaviour is covered by 15 integration tests in #265.