Commit 98bb4dd
Channels: HTTP proxy with observability for Lightning (#4419)
* Add Channels data layer: schemas, context, and migration
* Add channel proxy plug with endpoint routing
* Add channel proxy load testing and telemetry
* Add Channels handler and observability pipeline
* Add Channels source and sink authentication
* Add Channels CRUD
* Fix unique_constraint errors on channel name not showing up
* Refactor ChannelProxyPlug headers and add request tracing
* Add Channel LiveView UI: proxy URLs, icons, and polish
* Add channel request search and logs page
* Add channel logs infrastructure: tab bar, config, and History integration
* Rename Weir dependency to Philter (now published on Hex)
* Add Channels feature to CHANGELOG
* Refactor channel proxy to use Philter's extra_headers/strip_headers
Replace manual conn.req_headers mutation (Headers module) with Philter's
purpose-built API. This fixes a security issue where source authentication
headers (x-api-key for API auth, authorization for Basic auth) leaked
through to the upstream sink.
- Delete inner Headers module that mutated conn.req_headers
- Add build_extra_headers/2 for proxy headers (x-forwarded-*, x-request-id, sink auth)
- Add build_strip_headers/1 to remove source auth headers before forwarding
- Add source_auth_types to SinkRequest struct, populated from channel config
- Bump Philter to 0.2.0 for extra_headers/strip_headers support
- Add 5 new tests: host rewrite regression, source auth stripping, passthrough
* Update philter to 0.2.1
* Remove orphaned Headers test file
The Headers module was extracted into Philter during the refactor,
but this test file was left behind referencing the deleted module.
---------
Co-authored-by: Midigo Frank <39288959+midigofrank@users.noreply.github.com>
Co-authored-by: Frank Midigo <midigofrank@gmail.com>1 parent bdec4c8 commit 98bb4dd
104 files changed
Lines changed: 9465 additions & 99 deletions
File tree
- .circleci
- assets
- js/hooks
- vendor/lucide
- optimized/24/outline
- benchmarking/channels
- lib
- load_test
- results
- config
- lib
- lightning_web
- components
- live
- channel_live
- components
- run_live
- plugs
- lightning
- channels
- config
- policies
- projects
- runs
- priv/repo/migrations
- test
- lightning_web
- ai_assistant
- channels
- components
- controllers/api
- live
- channel_live
- run_live
- workflow_live
- plugs
- lightning
- ai_assistant
- channels
- config
- runs
- support
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
174 | | - | |
| 174 | + | |
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
| 190 | + | |
| 191 | + | |
191 | 192 | | |
192 | 193 | | |
193 | 194 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
764 | | - | |
765 | | - | |
766 | | - | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
767 | 783 | | |
768 | | - | |
769 | | - | |
| 784 | + | |
770 | 785 | | |
771 | | - | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
772 | 790 | | |
773 | 791 | | |
774 | 792 | | |
| |||
1014 | 1032 | | |
1015 | 1033 | | |
1016 | 1034 | | |
| 1035 | + | |
1017 | 1036 | | |
1018 | 1037 | | |
1019 | 1038 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
128 | 164 | | |
129 | 165 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
0 commit comments