-
Notifications
You must be signed in to change notification settings - Fork 332
Dynamic federator remotes #3260
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
Merged
Merged
Changes from 105 commits
Commits
Show all changes
186 commits
Select commit
Hold shift + click to select a range
37eacf1
FS-1115: Initial effort to get a cross-thread mutable variable for Env.
lepsa cac0a7a
FS-1115: Simplifing TVar usage
lepsa e63bcfe
Cassandra schema update.
fisx 2bf18a5
Internal routes for CRUDding the new table.
fisx 01c32e4
Cassandra schema update.
fisx 2bd4c6c
Internal routes for CRUDding the new table.
fisx 6bb1d27
Fixup
fisx 59dcbf0
Integration tests.
fisx d369479
Simple handlers.
fisx f8d8b58
Fixup
fisx d80cef9
Fixup
fisx 6f97972
Merge remote-tracking branch 'origin/dynamic-federator-remotes' into …
lepsa f40b224
Merge remote-tracking branch 'origin/dynamic-federator-remotes' into …
lepsa c553c0e
Attempt at making C* full table scan acceptable.
fisx 43e6483
Merge remote-tracking branch 'origin/develop' into FS-1115
lepsa 68deac5
FS-1115: Setting up AMQP messaging for Federator to receive updates
lepsa 7b531ba
FS-1115: Adding env file values for message queues
lepsa f95c666
wip
lepsa d5e171b
FS-1115: Ripping out AMQP code and replacing it with a http loop
lepsa 6caed21
Merge remote-tracking branch 'origin/dynamic-federator-remotes' into …
lepsa e593510
FS-1115: Adding smarts to galley.
lepsa 8a3f4db
WIP
lepsa 6703241
FS-1115: Fixes for some tests
lepsa c038d0c
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 6dc1d4e
Merge config file in with db in `GET /federation/remotes`.
fisx af9c127
FS-1115: Fixing build errors, updating tests, formatting
lepsa bfa663e
Don't allow removing remote domains from config file via rest api.
fisx d9b30c3
FS-1115: Fixing compile errors on a new test
lepsa 8c7b646
FS-1115: Fixing the federation CRUD test
lepsa d9f4298
FS-1115: Adding federation domain updates to brig and cannon
lepsa a8e32b4
Merge remote-tracking branch 'origin/develop' into FS-1115
lepsa 300fc24
Merge remote-tracking branch 'origin/develop' into FS-1115
lepsa a815652
Docs (draft), release notes.
fisx 0ac3682
(Slightly) better api error on fail-to-delete.
fisx a478868
Breadcrumbs.
fisx dfa644d
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 66e6969
Better breadcrumbs.
fisx cdf3650
Polish docs.
fisx ef149e3
afterthought.
fisx f9f0e87
Update services/brig/test/integration/API/Federation.hs
fisx 1044124
More tests.
fisx 5c22938
Remove a lying comment.
fisx 02c1432
Refactor: keep the semantics of `_runSettings` intact.
fisx 7dfb4e8
Remove a lying comment.
fisx 6f9b9cf
Fixup / WIP
fisx beba208
Fixup
fisx 0008020
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 3b8b383
I take it back!
fisx d508cb9
more docs.
fisx 167083a
rm bogus TODO, add a non-bogus one :)
fisx 8cd69f1
revert changes of status code in integration tests.
fisx 0ede02d
Various updates, mainly moving some common code into wire-api and
lepsa adbf7d9
FS-1115: More common code for federation domain updates
lepsa 236c2fd
Use tinylog instead of `print`.
fisx 1a6a103
sanitize-pr
fisx 950867e
Use retry instead of threadDelay-loop.
fisx 676862a
FS-1115: Updating design docs on how update intervals are supplied
lepsa fc00935
Clarify source comment.
fisx d39dd45
FS-1115: Cleaning up un-needed changes to options
lepsa 6f5ee22
update docs.wire.com
fisx db39702
docs.
fisx 1a90c97
Merge branch 'develop' into FS-1115
fisx 3846ae3
docs.
fisx 8b45f0f
Fix: `/i/user/meta-info` (stern) (#3281)
battermann 708bec2
Handle race conditions in /integration (#3278)
fisx e89b052
Update docs.wire.com (#3284)
fisx 5638e5e
Restore deleted scripts (#3287)
smatting 417e368
Refactor federation domain configuration.
fisx ce50aa2
Merge remote-tracking branch 'refs/remotes/owen/FS-1115' into FS-1115
fisx 5bed564
Fixup
fisx 4199dc5
Complete CRUD api for federator remotes (Update is missing) [WIP].
fisx 728567a
Complete CRUD api for federator remotes (Update is missing): tests.
fisx f5c1b3e
docs.
fisx a6e9255
Cleanup
fisx 1d05c84
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx c0df89a
Remove dead code.
fisx ea18bcb
nit-pick.
fisx 4b79d4b
Typo.
fisx 2f3ec7b
Fine-tune logging.
fisx 84e78f0
Fix haddocks.
fisx 6d1f719
Implement put.
fisx e85c97d
Clariy updateFrequency everywhere.
fisx 6327def
nit-pick.
fisx 5915c82
Fixup
fisx f2e998d
Cleanup
fisx 012f39d
Implement put. (For real this time.)
fisx aa52e91
Move integration tests to /integration.
fisx 3374dd6
...
fisx 411f03d
wip
lepsa 96521f5
...
fisx e474e0b
FS-1115: Setting up calls to Brig from integration tests.
lepsa af21829
...
fisx 3287003
...
fisx 166e2ba
...
fisx bad86a1
...
fisx 6390674
...
fisx b49a742
...
fisx f02819f
Fix
fisx 15ec903
...
fisx dd061ae
WIP: Chasing down cache issues between some bug fixes
lepsa a6bab56
...
fisx 8f553bd
...
fisx e44cfe9
...
fisx 19f2732
...
fisx d662c85
Tests are passing!
fisx bea0419
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx f6ae0c7
process leif's feedback.
fisx f0bfa62
...
fisx 2e959b0
Fixing compile issues after a merge
lepsa 37b4f09
Updating templates
lepsa 8f8af7c
Removing a JSON roundtrip, better using aeson.
lepsa 236f4bb
Moving more of the federation domain update code into wire-api.
lepsa fff9883
wip
lepsa 1a76c9c
Merge remote-tracking branch 'refs/remotes/owen/FS-1115' into FS-1115
fisx 4efa58e
sanitize-pr
fisx 0a122f3
Merge branch 'FS-1115' of github.com:lepsa/wire-server into FS-1115
lepsa 9c68bd8
FS-1115: Updating brig integration config to help tests
lepsa c8cac98
s/AllowList/AllowDynamic/g
fisx ca572dd
rm trailing whitespace.
fisx 7c39b34
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx d3997dc
docs
fisx 17ab5da
Updating with PR feedback
lepsa fbfac87
Have federation domain tests use MakesValue more
lepsa 8cdd041
FS-1115: Removing more FedConn type specific code from federation tests
lepsa 1ffaab2
More code leaning on typeclasses
lepsa 56f7954
Mark flaky test case.
fisx db19f40
Merge remote-tracking branch 'refs/remotes/owen/FS-1115' into FS-1115
fisx 9c6836d
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 01ef6ff
docs.
fisx 1f0d1ab
Merge remote-tracking branch 'origin/develop' into FS-1115
lepsa f2cf2da
Merge branch 'develop' into FS-1115
fisx 9b44c5e
Merge remote-tracking branch 'refs/remotes/owen/FS-1115' into FS-1115
fisx 689b5e9
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 0e0487c
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 28d27d6
docs.
fisx d334aa6
Changelog.
fisx 171a31e
docs.
fisx 125ba0a
sanitize-pr
fisx 98bf16a
Fixup
fisx 03153e0
Update docs/src/understand/configure-federation.md
fisx 3466906
Update docs/src/developer/developer/federation-design-aspects.md
fisx 9f0a323
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx ad83b45
Fix cannon config map
fisx 0990d32
whitespace
fisx b976f94
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 8e9d364
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 781cacd
hi ci
fisx 5cd4559
docs.
fisx 61a5c87
docs.
fisx 6c1ecd7
Merge remote-tracking branch 'origin/develop' into FS-1115
battermann 28d87c9
Merge branch 'develop' into FS-1115
battermann 0080e89
hi ci
fisx ab9c14a
Tweak docs.
fisx 57746ee
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 046b87b
nit-pick.
fisx f577998
Mark test case as flaky.
fisx 4f28941
Tweak log levels.
fisx 5908f7a
Tweak log msg.
fisx 582b654
Update libs/wire-api/src/Wire/API/Routes/Internal/Brig.hs
lepsa a5e4840
Update docs/src/understand/configure-federation.md
lepsa bb5455c
Update services/brig/src/Brig/API/Internal.hs
lepsa ac6a5c2
Update services/brig/src/Brig/API/Internal.hs
lepsa f44ff72
Update services/brig/src/Brig/API/Internal.hs
lepsa a753af5
Update services/federator/src/Federator/Run.hs
lepsa b0f24b5
Update services/galley/src/Galley/App.hs
lepsa c1588b4
FS-1115: PR notes
lepsa 9494a19
try fix helm charts
battermann d1b4f1c
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx d649710
hi ci
battermann 0008cf8
changed federation strategy in CI from allowDynamic to allowAll
battermann 37baaf6
Merge branch 'develop' into FS-1115
battermann 8d8242a
correct error in case of allowDynamic
battermann 0a1b730
default case made explicit
battermann 75ec8e6
Merge remote-tracking branch 'refs/remotes/owen/FS-1115' into FS-1115
fisx 81ae556
Merge remote-tracking branch 'origin/develop' into FS-1115
fisx 22e7798
Create use domain names in integration tests.
fisx 866f52b
Better errors in /integration.
fisx 372c71c
nit-picks.
fisx 88bf195
Better errors in /integration.
fisx 2ba8dd6
revert commit noise.
fisx a20a21a
Fix `make list-flaky-tests`.
fisx 354252d
nit-picks, renames, minor refactorings.
fisx a2432df
s/type/newtype/
fisx 3318c4a
Polish Wire.API.FederationUpdate (names and declaration order).
fisx 47ae909
Fix: Always cancel `syncFedDomainUpdateThread`.
fisx a830cdb
hi ci
fisx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| Federation only: from this release on, remote connections should be configured via an internal REST API; the config files will be honored for a transition period, but will be ignored starting in a future release. YOU NEED TO UPDATE YOUR BRIG HELM CHART BEFORE DEPLOYING THIS RELEASE. [Details in the docs.](https://docs.wire.com/understand/federation/backend-communication.html#configuring-remote-connections) |
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # Federation Design Aspects | ||
|
|
||
| (configuring-remote-connections-dev-perspective)= | ||
|
|
||
| ## keeping track of federator remotes | ||
|
fisx marked this conversation as resolved.
Outdated
|
||
|
|
||
| Federation can start and end. These events need handlers to be called | ||
| (like remove remote users from local conv), plus it is not convenient | ||
| to edit and re-deploy config files every time that happens. Hence | ||
| remotes are stored in cassandra in brig, and every pod of every | ||
| service keeps a cache in an `IORef` in its `Env` (this information is | ||
| needed in many end-points, so it has to remain as fast as read access | ||
| to `Env`). | ||
|
|
||
| This section elaborates on the implementation. See | ||
| {ref}`configuring-remote-connections` for the administrator's point of | ||
| view. If you haven't done so, go read that section now! | ||
|
|
||
| The state is persisted in cassandra table `brig.federation_remotes`. | ||
| brig provides the contents via an internal CRUD API (see | ||
| {ref}`configuring-remote-connections` for the links). In the future, | ||
| we may decide that brig needs to cache the table itself, but for now | ||
| (`GET` is only used for the internal end-point to share it with other | ||
| services) we hope to get away with the simple solution and always read | ||
| from cassandra directly. | ||
|
|
||
| Introduced in | ||
| [PR#3260](https://github.com/wireapp/wire-server/pull/3260). | ||
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.