MarginaliaSearch/code/services-core/control-service
Viktor Lofgren 708a741960 (test) Clean up test usage of migrations
Several tests were manually running migrations in a large copy-paste blob of code.  This makes the test less useful as it's possible to break the code while keeping the tests green by introducing a new migration that never gets run in the tests, and it's also difficult to reason about what the tests are doing.

A new test helper library is introduced with a TestMigrationLoader that can both run Flyway migrations, or load specific migrations in the cases a specific set of migrations need to be loaded.   Existing tests are migrated to use the new code.
2024-01-12 15:55:50 +01:00
..
src (test) Clean up test usage of migrations 2024-01-12 15:55:50 +01:00
build.gradle (test) Clean up test usage of migrations 2024-01-12 15:55:50 +01:00
readme.md (*) Get multi-node routing working. 2023-10-15 18:38:30 +02:00

Control Service

The control service provides an operator's user interface. By default this interface is exposed on port 8081. It does not offer any sort of access control or authentication.

The control service will itself execute tasks that affect the entire system, but delegate node-specific tasks to the corresponding executor-service via the executor-api.

Conceptually the application is broken into three parts:

  • Application specific tasks relate to the high level abstractions such as blacklisting and API keys
  • System tasks relate to low level abstractions such as the message queue and event log.
  • Node tasks relate to index node specific tasks, such as crawling and indexing.

Central Classes

See Also